MySQL 之 数据的导出与导入
1、MySQL导出数据
(1)、使用 select ... into outfile 语句导出数据
MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。并且可以通过命令选项来设置数据输出的指定格式。
# 语法
SELECT * FROM 表名 INTO OUTFILE '文本文件';
# 例子
SELECT * FROM test INTO OUTFILE '/back/test.txt';
(2)、导出表作为原始数据
mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。
使用 mysqldump 导出数据需要使用 --tab 选项来指定导出文件指定的目录,该目标必须是可写的。
# 将数据表 test 导出到 /tes 目录中:
mysqldump -u root -p123456 --no-create-info --tab=/tes RUNOOB test
(3)、导出 SQL 格式的数据
#语法:
# mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
#示例:
#单库备份
mysqldump -uroot -p123456 db1 > db1.sql
mysqldump -uroot -p123456 db1 table1 table2 > db1-table1-table2.sql
#多库备份
mysqldump -uroot -p123456 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
#备份所有库
mysqldump -uroot -p123456 --all-databases > all.sql
# 注意: mysqldump是在命令行中输入,不是在mysql下
2、MySQL导入数据
(1)、MySQL命令导入
# 使用 mysql 命令导入语法格式为:
mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql);
# 示例
mysql -uroot -p123 < /backup/all.sql
(2)、source命令导入
# source 命令导入数据库需要先登录到数库终端:
mysql> create database db1; # 创建数据库
mysql> use db1;
mysql> SET SQL_LOG_BIN=0; #关闭二进制日志,只对当前session生效
mysql> source /root/db1.sql;
(3)、使用 LOAD DATA 导入数据
# 将从当前目录中读取文件 test.txt ,将该文件中的数据插入到当前数据库的 test 表中
mysql> LOAD DATA LOCAL INFILE 'test.txt' INTO TABLE mytbl;
# 如果指定LOCAL关键词,则表明从客户主机上按路径读取文件。如果没有指定,则文件在服务器上按路径读取文件。
(4)、使用 mysqlimport 导入数据
$ mysqlimport -u root -p123456 --local dbl test.txt
天之涯,海之角,吾与money天荒地老。