一、导出数据
1. 导出某个数据库
mysqldump -u 用户名 -p 数据库名 > 路径 + 文件名
mysqldump -uroot -p databases > sqlFilePath
2. 导出多个数据库
mysqldump -uroot -p --databases database1 database2… > sqlFilePath
–add-drop-database : 在创建数据库的时候先执行删除数据库操作
–database : 后面跟要导出的多个数据库,以空格分隔
3. 导出某个数据库的某个表
mysqldump -u 用户名 -p 数据库名 表名 > 路径 + 文件名
mysqldump -uroot -p database tableName > sqlFilePath
4. 只导出数据库结构,不带数据
mysqldump -uroot -p -d database > sqlFilePath
mysqldump -uroot -p –no-data database > sqlFilePath
-d : 只备份结构,不备份数据。也可以使用 "–no-data" 代替 "-d"
5. 导出所有数据库结构,包含视图和函数
mysqldump -uroot -p -R database > sqlFilePath
一、导入数据
1. 已连接数据库
use database;
source sqlFilePath
use test;
source /root/test.sql
2. 未连接数据库
mysql -h ip -u userName -p database < sqlFilePath
mysql -h127.0.0.1 -uroot -p test < /root/test.sql
database: 要使用的具体的某个数据库。
如果 sql 脚本中没有使用 “use database” 选择数据库,则此处必须指定数据库;
如果使用了 “use database”,则可以省略。
3. 将文本数据导入数据库
use test;
load data local infile "文件路径" into table 表名;
load data local infile "c:/data.txt" into table person(name,age,city,salary);
用于导入的文本文件:c:\data.txt
张三 31 北京 3000
李四 25 杭州 4000
王五 45 \N 4500
小明 29 天津 \N
每一项之间用 Tab键 进行分隔,如果该字段为 NULL,则用 \N 表示