1.使用mysqldump命令
导出表结构和数据
mysqldump -uusername -ppassword database [table] [-w "id<100"][-n][-t][-d][--skip-add-drop-table][--default-character-set=xxx] > out.sql
[-w "id<100"]:-w指定查询条件,这需要指定[table]
-n:不导出create database语句
- t:不导出create table语句
-d:只导出结构,不到出数据(没有Insert语句)
--skip-add-drop-table:默认导出的sql是带有drop table的,此选项可以去掉drop table
--default-character-set:设置字符集,默认为utf8
导出纯数据
分隔符格式
--tab:读取--tab="xxx" xxx 目录下的sql文件(select * from tablename where ...) 并将结果写入和xxx同目录下的txt文件。
--fields-terminated-by:字段分隔符
--fields-enclosed-by:字段包裹符
xml格式
mysqldump -uroot -proot demo contacts -t -X > d:/demo.xml
-X:导出xml格式数据
2.使用mysql命令
mysql -uroot -proot database < dump.sql > data.csv
默认导出的csv是以tab符分割字段的,如果要导出其他符号分割的,可以在dump.sql里面写select concat(field1, '#' , field2, '#' ......) from tab...
mysql db_name -uroot -proot -e"select * from contacts" > d:/data.csv
导出以tab分隔符分割的csv
3.使用SELECT ...INTO OUTFILE ...