选择行数少于100k的MySQL表

时间:2012-03-09 10:13:48

标签: mysql

我希望能够备份行数少于100K的表。我要做的是将开发数据库克隆到我的本地机器,该机器有许多我不需要数据的日志表,以及具有“合法”内容的表。

所以我将有一个只复制表结构的转储,另一个转储从这些表中复制少于10万行的相关数据。

如果我必须使用像Python或PHP这样的中间语言,我就可以了。

编辑:问题是,如何从行少于100k的表创建数据的mysql转储?

2 个答案:

答案 0 :(得分:2)

使用类似的东西

mysql databasename -u [root] -p[password] —disable-column-names -e 
    'select table_name from information_schema.tables where table_rows < 100000;'
    | xargs mysqldump [databasename] -u [root] -p[password] > [target_file]

P.S。所有这些都需要在一行中

答案 1 :(得分:0)

仅转储架构

mysqldump --user=dbuser --password --no-data --tab=/tmp dbname

或尝试使用以下命令单独为每个表导出模式和数据

mysqldump --user=dbuser --password --tab=/tmp dbname

mysqldump --opt --where="1 limit 100000" database > fileName.sql

可以从每个表中获得100K行。

忽略一些表格

mysqldump --opt --where="1 limit 100000" --ignore-table=database.table1 
--ignore-table=database.table2 database > fileName.sql