Mysql 用命令行导出导入数据方法

时间:2023-12-29 14:16:08

方法一:

导出参考:https://www.cnblogs.com/activiti/p/6700044.html

用mysqldump可以导出整个数据库里的表和数据,不单单是只导出某个表的数据

命令行下具体用法如下:
mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql 导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql 导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql 导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql

用mysqldump导出的数据可以用source指令导入,

先要手动建立一个数据库,然后进到这个数据库里面执行source语句:

mysql>use dbtest;
mysql>set names utf8;
mysql>source D:/www/sql/back.sql;

通过source命令导入多个文件,可以新建一个source.sql文件,里面存放下面的命令

source d:/a1.sql;
source d:/a2.sql;
执行:
mysql>source source.sql;
就可以同时导入两个文件了

方法二:

单表大数据导出导入参考:https://blog.csdn.net/u012129558/article/details/52438485

select * into outfile 'ddd.txt' fields terminated by ',' from dn_location;
load data infile 'ddd.txt' into table dn_location2 FIELDS TERMINATED BY ',';

经测试,这样导入400多万条数据到表里居然比用source导入还要慢!

数据少的时候用navicate,多的用mysqldump, load data感觉不太好用。