是否可以通过单个SQL查询来做mysqldump ?

我的意思是转储整个数据库,就像phpmyadmin在导出到SQL时所做的那样


当前回答

导出查询结果命令行:

mysql -h120.26.133.63 -umiyadb -proot123 miya -e "select * from user where id=1" > mydumpfile.txt

其他回答

您可以像这样将查询转储为csv:

SELECT * from myTable
INTO OUTFILE '/tmp/querydump.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

如果您想从表中转储特定的字段,这可能很方便

1/创建临时表与你的查询。

create table tmptable select field1, field2, field3 from mytable where filter1 and fileter2 ;

2/ dump整个临时表。然后就有了包含特定字段的转储文件。

mysqldump -u user -p mydatabase tmptable > my-quick-dump.sql

要转储特定的表,

mysqldump -u root -p dbname -t tablename --where="id<30" > post.sql

导出查询结果命令行:

mysql -h120.26.133.63 -umiyadb -proot123 miya -e "select * from user where id=1" > mydumpfile.txt

你可以使用mysqldump上的——where选项来生成你正在等待的输出:

mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql

来自测试的最多100行。T1将从数据库表中转储。