mysql的导出与导入

摘要:mysql的导出与导入,导出sql文件、csv文件、excel文件等。

MySQL官网:https://www.mysql.com/

导出:

mysqldump文档:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

1、mysqldump导出某数据库下所有表结构(不包含数据)

mysqldump -d -hxxx.xxx.xx.xxx -uxxxx -pxxxx -P端口 dbname > /home/work/xxx.sql

2、mysqldump导出某个表的表结构(不包含数据)

mysqldump -d -hxxx.xxx.xx.xxx -uxxxx -pxxxx -P端口 dbname table > /home/work/xxx.sql

3、mysqldump导出表部分数据

mysqldump -hxxx.xxx.xx.xxx -uxxxx -pxxxx dbname table --where="xxxxxxxxxx" > /home/work/xxx.sql

#-d:只导出表结构不导出数据

#-t:只导出表数据不导出表结构

#什么都不加导出数据和表结构

#另外你还可以直接导出 文本文件*.txt

4、mysql导出表指定字段、部分数据

mysql -hxxx.xxx.xx.xxx -uxxxx -pxxxx dbname -e "select xxx,xxx from xxx where xxx" > /home/work/xxx.sql

5、mysql导出.csv文件

mysql -hxxx.xxx.xx.xxx -uxxxx -pxxxx dbname -Bse "select xxx,xxx from xxx where xxx" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /home/work/xxx.csv

6、mysql导出.excel文件

#进入到mysql中导出excel文件
select xxx,concat("'", xxx),xxx from xxx where xxx into outfile "/home/work/xxx.xls";
#直接导出
mysql -hxxx.xxx.xx.xxx -uxxxx -pxxxx dbname -Bse "select xxx,concat('\'', xxx),xxx from xxx where xxx" > /home/work/xxx.xls

#以上两种导出方式都可以,concat()的作用是为了避免有数字是以0开头的字段导出,如果你导出的都是字符串没有这种情况,那就不用加了。
#导出的文件为xls文件,然后你ctrl+s的时候会提示是否保留这种功能,点击否,重新保存一份格式为.xlsx的excel文件。
#如果导出的时候数字前的逗号没有解析,ctrl+f查找“'”号再全部替换“'”就可以了。

导入:

首先新建dbname数据库

1、第一种方式,在shell终端输入

mysql -u root -p dbname < dbname.sql

2、第二种方式,进入mysql,用source导入

mysql -uroot -p --default-character-set=utf8
use dbname
source /home/work/xxx.sql
结束语:感谢您对本网站文章的浏览,欢迎您的分享和转载,但转载请说明文章出处。
Top