MySQL通过查询转储

时间:2009-06-01 16:19:17

标签: sql mysql database

mysqldump可以SQL query吗?

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

9 个答案:

答案 0 :(得分:259)

不是mysqldump,而是mysql cli ......

mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase

如果需要,您可以将其重定向到文件:

mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt

更新: 原帖询问他是否可以通过查询从数据库转储。他问的问题和他的意思是不同的。他真的只想把mysqldump所有表格。

mysqldump --tables myTable --where="id < 1000"

答案 1 :(得分:243)

这应该有效

mysqldump --databases X --tables Y --where="1 limit 1000000"

答案 2 :(得分:65)

您可以将查询转储为csv,如下所示:

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

答案 3 :(得分:55)

使用where查询转储表:

mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql

转储整个表:

mysqldump mydatabase mytable > data.sql

注意:

  • mydatabasemytable和where语句替换为所需的值。
  • 默认情况下,mysqldump会在其输出中包含DROP TABLECREATE TABLE语句。因此,如果您希望在从保存的数据文件恢复时不删除表格中的所有数据,请确保使用--no-create-info选项。
  • 您可能需要在上面的示例命令中添加适当的-h-u-p选项,以便分别指定所需的数据库主机,用户和密码。

答案 4 :(得分:37)

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

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

来自test.t1的最多100行将从数据库表中转储。

干杯, WB

答案 5 :(得分:5)

如果要将最后n个记录导出到文件中,可以运行以下命令:

mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql

上面会将最后100条记录保存到export_file.sql中,假设您要导出的表具有自动递增的id列。

您需要更改用户,localhost,数据库和表值。您可以选择更改id列并导出文件名。

答案 6 :(得分:3)

结合上面的大部分内容是我真正的实际例子,选择基于meterid和amp;的记录。时间戳。多年来我一直需要这个命令。快速执行。

mysqldump -uuser -ppassword main_dbo trHourly --where="MeterID =5406 AND TIMESTAMP<'2014-10-13 05:00:00'" --no-create-info --skip-extended-insert | grep  '^INSERT' > 5406.sql

答案 7 :(得分:2)

MySQL Workbench在GUI中也整齐地具有此功能。只需运行查询,单击导出/导入旁边的保存图标:

enter image description here

然后选择&#34; SQL INSERT语句(* .sql)&#34;在列表中。

enter image description here

输入名称,单击“保存”,确认表名,然后您将获得转储文件。

答案 8 :(得分:-1)

mysql导出查询结果命令行:

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