本节目标:
掌握MySQL导出数据的3种方式
重点掌握第一种和第三种
第一种
select … into outfile 【重点】
注意:需要进入到数据库中进行操作,且windows路径的斜杠是两个“\\”
show variables like “%secure_file_priv%”;
如果是null,参考文章:如果是NULL怎么办才能进行导入导出
查看文件路径,如果是有值,那么我们只能在这个路径下面进行导入导出。
mysql> show variables like "%secure_file_priv%";
+------------------+------------------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------------------+
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\ |
+------------------+------------------------------------------------+
1 row in set, 1 warning (1.09 sec)
导出数据
mysql> select * from employee into outfile 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\employee.txt'
-> fields terminated by ','
-> enclosed by '"'
-> lines terminated by '\r\n';
Query OK, 13 rows affected (0.11 sec)
灵活运用,熟练使用
第二种
mysql命令重定向查询结果
不需要进入数据库,可以指定sql语句,可以在dos或者linux的命令行里面执行
第三种
使用mysqldump导出数据【重点】
是在dos里面执行,不是在数据库里面,产生的是sql脚本,即sql语句
如果我们平常仅仅是在Mysql里面使用的,用的最多的,我们要掌握好mysqldump,原因在于导出的是sql脚本,有表结构,恢复会非常方便。
演示
C:\Users\zs>mysqldump -h localhost -u root -p mydb > d:/mydb.sql
Enter password: ******
C:\Users\zs>mysqldump -h localhost -u root -p mydb --ignore-table mydb.test_user > e:/mydb_without_test_user.sql
Enter password: ******