mysql導入導出表數據

導出數據

1.mysqldump導出建表及insert語句

導出的sql文件的默認操作是先drop原表,然後新建表,然後執行insert操作

  • 導出整張表的數據
mysqldump -h{host} -P{port} -u{username} -p{passport} --lock-tables=false  --default-character-set=utf8 --tables {databasename} {tablename}  > table.sql
  • 帶where條件導表
mysqldump -h{host} -P{port} -u{username} -p{passport} --lock-tables=false  --default-character-set=utf8 --tables {databasename} {tablename} --where="name like '%magic%'"  > table.sql

where條件可以包含limit和order by語句,也可以包含子查詢,例如:

--where="dealid in (select id from adver_ssp_deal where buyerid in (1,2,3))"

如果只需要insert語句可以將其grep出來

mysqldump -h{host} -P{port} -u{username} -p{passport} --lock-tables=false  --default-character-set=utf8 --tables {databasename} {tablename} --where="name like '%magic%'" | grep INSERT > table.sql

2.-e選項 加 重定向符 > 導出查詢結果數據

mysql -h{host} -P{port} -u{username} -p{passport} --default-character-set=utf8 {databasename} -e "select id,name from person limit 10;" > table.csv

導入數據

1.在linux命令行通過重定向符 < 導入執行sql文件

mysql -h{host} -P{port} -u{username} -p{passport} --default-character-set=utf8 {databasename} < table.sql

2.在mysql命令行通過source命令執行sql文件

mysql> source /path/to/table.sql

路徑爲sql文件的絕對路徑
sql文件行首最好設置utf8編碼:set names utf8;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章