MySQL命令行导入导出数据库

1.命令行导入

方法一:未连接数据库时方法

语法格式:mysql -h ip -u userName -p dbName < sqlFilePath (最后没有分号) 
-h : 数据库所在的主机。如果是本机,可以使用localhost,或者省略此项; 
-u : 连接数据库用户名。 
-p : 连接数据库密码。出于安全考虑,一般不在-p之后直接写出明文的密码。整个命令回车之后,数据库会要求输入密码,那个时候再输入密码将以**的形式显示出来。有一定的保护作用。 
dbName : 要使用的具体的某个数据库。这个不是必须的,如果sql脚本中没有使用“use dbName”选择数据库,则此处必须制定数据库;如果使用了”use dbName”,则可以省略。 
sqlFilePath : sql脚本的路径。如我将sql脚本放在了D盘,我的sql脚本的名字是”test_sql.sql”。则路径为”D:\test_sql.sql”。 
命令执行情况如下图所示: 
MySQL命令行导入导出数据库_第1张图片

方法二:已连接数据库时方法

语法格式:source sqlFilePath(后面没有分号) 
sqlFilePath : sql脚本的路径。如我将sql脚本放在了D盘,我的sql脚本的名字是”test_sql.sql”。则路径为”D:\test_sql.sql”。 
命令执行情况如下图所示: 
MySQL命令行导入导出数据库_第2张图片 
上图中,第一次执行没有成功,因为在sql脚本中没有使用use语句指定数据库,所以需要先指定数据库。

2.命令行导出

  • 导出某个数据库:

    mysqldump -u root -p dbName > sqlFilePath

  • 导出多个数据库:

    mysqldump -u root -p –add-drop-database –databases dbName1 dbName2… > sqlFilePath 
    –add-drop-database : 该选项表示在创建数据库的时候先执行删除数据库操作 
    –database : 该选项后面跟着要导出的多个数据库,以空格分隔

  • 导出某个数据库的某个表:

    mysqldump -u root -p dbName tableName > sqlFilePath

  • 只导出数据库结构,不带数据:

    mysqldump -u root -p -d dbName > sqlFilePath 
    -d : 只备份结构,不备份数据。也可以使用”–no-data”代替”-d”,效果一样。

导出命令执行情况如下图所示: 
MySQL命令行导入导出数据库_第3张图片

关于mysqldump,还有非常多的可选项,例如备份视图、触发器,按照指定条件备份数据等。更多的选项请参考下面的文章: 

你可能感兴趣的:(MySQL命令行导入导出数据库)