mysql数据库所有表合并_mysql – 合并数据库中的多个表

我有一个MySQL数据库,表名如1,2,3 ……高达1000

每个表有2000行,结构相同.

这就是我2000桌面结构的样子

id,url,title,content

id具有int类型,主键,自动增量.

现在我想创建一个名为merged的新数据库.还有一个名为merged_table的表.

有人能告诉我如何在merged_table中导入我的所有表吗?

我的问题是我的所有表都有从1到2000的id.所以我不知道如何导入它们.

我希望在我的新merged_table中有1到2000000的唯一ID

我正在使用ubuntu.所以如果有人建议我使用终端命令,那就太棒了.

解决方法:

创建第一个表,然后将每个表加载到merged_table中:

CREATE TABLE merged_table LIKE `1`;

INSERT INTO merged_table (url,title,content) SELECT url,title,content FROM `1`;

INSERT INTO merged_table (url,title,content) SELECT url,title,content FROM `2`;

INSERT INTO merged_table (url,title,content) SELECT url,title,content FROM `3`;

...

...

;

INSERT INTO merged_table (url,title,content) SELECT url,title,content FROM `999`;

INSERT INTO merged_table (url,title,content) SELECT url,title,content FROM `1000`;

这是一种编写脚本的方法(如果数据库是mydb)

DB="mydb"

MYSQL_CONN="-uroot -ppassword"

echo "CREATE TABLE merged_table LIKE \`1\`;" > MergeData.sql

SQL="SELECT CONCAT('INSERT INTO merged_table (url,title,content)"

SQL="${SQL} SELECT url,title,content FROM \`998\`')"

SQL="${SQL} FROM information_schema.tables"

SQL="${SQL} WHERE table_name REGEXP "$[0-9]"

mysql ${MYSQL_CONN} -ANe"${SQL}" >> MergeData.sql

查看文件的输出

less MergeData.sql

如果它看起来像我在答案的顶部给出的输出,那么运行

mysql ${MYSQL_CONN} -D${DB} < MergeData.sql

试试看 !!!

标签:mysql,ubuntu,myisam

来源: https://codeday.me/bug/20190806/1602435.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值