把多张MySQL表合成一张,每一张表的表名称用_隔开的最后一个字符作为合并表的新增字段录入,利用循环语句实现
时间: 2023-02-08 15:02:37 浏览: 134
合并多个表的sql语句
3星 · 编辑精心推荐
可以使用以下步骤来合并多张 MySQL 表:
1. 在 MySQL 中创建一张新表,并且为新表添加所有需要的字段,其中一个字段是用来存储表名称的最后一个单词。
2. 使用循环语句,遍历所有的表。对于每一张表,执行以下操作:
- 获取表名称的最后一个单词
- 使用 SELECT 语句从表中查询所有数据
- 使用 INSERT INTO 语句将查询到的数据插入到新表中,同时使用表名称的最后一个单词填充新增的字段。
3. 循环结束后,新表就包含了所有原来的表的数据,并且有一个新增字段用来存储表名称的最后一个单词。
例如,假设我们有以下三张表:table1、table2 和 table3,并且想要把它们合并成一张新表 new_table,新表有两个字段:id 和 table_name。我们可以使用以下语句来创建新表:
```
CREATE TABLE new_table (
id INT NOT NULL,
table_name VARCHAR(255) NOT NULL
);
```
然后,可以使用以下循环语句来合并表:
```
DECLARE table_names VARCHAR(255) DEFAULT 'table1,table2,table3';
DECLARE table_name VARCHAR(255);
WHILE table_names != '' DO
SET table_name = SUBSTRING_INDEX(table_names, ',', 1);
SET table_names = SUBSTRING(table_names, LENGTH(table_name) + 2);
INSERT INTO new_table (id, table_
阅读全文