mysql的导入导出操作

mysqldump工具基本用法

此方法不适用于大数据备份

 备份所有数据库

mysqldump -u root -p --all-databases > all_database_sql

备份mysql数据库

mysqldump -u root -p --databases mysql > mysql_database_sql

 备份指定的多个数据库

mysqldump -u root -p --databases mydb db2 > mydb.sql

 备份mysql数据库下的test表

mysqldump -u root -p mysql test > test_table

如果不用--databases选项,在后期进行数据还原操作时,如果该数据库不存在,必须先创建该数据库;而在例子3指定多个数据库时,必须要加--databases参数,否则db2会被认为是mydb库的表。

把备份的所有数据文件还原:
mysql -u root -p < all_database_sql,这里不需要指定库,因为是全部数据库
mysql -u root -p mysql < mysql_database_sql #这里就需要指定是mysql库了

导出纯文本文件

在某些情况下,为了一些特定的目的,经常需要将表里的数据导出为某些符号分割的纯数据文本,而不是 SQL 语句,因为LOAD DATA 的加载速度比普通的 SQL 加载要快 20 倍以上

方法 1:使用 SELECT ...INTO OUTFILE ...命令来导出数据

mysql> SELECT * FROM tablename INTO OUTFILE 'target_file' [option];
其中 option 参数可以是以下选项:

fields terminated by                         '字符'       字段分隔符,默认字符为制表符'\t'
fields [optionally] enclosed by         '单字符'    字段引用符,加上optionally后在数字类型上不会有引用符号
fields escaped by                            '单字符'    转义字符,默认为'\'
lines starting by                              '字符'        每行前都加此支付,默认为空
lines terminated by                         '字符'        行结束符,默认为'\n'

例子1,将 test 表中数据导出为数据文本,其中,字段分隔符为“,”,每个字段用双引号引用起来,记录结束符为回车符(默认如此,可以不写)

猜你喜欢

转载自www.cnblogs.com/hello-wei/p/10216353.html