mysql往一张新表里插入另外三张表的门店名称列
时间: 2024-09-21 16:04:19 浏览: 33
省市区sql文件一份在一张表里一份在三张表里.rar
在MySQL中,如果你想将另外三张表的门店名称列合并到一张新的表中,可以使用`UNION ALL`、`JOIN`或者是`INSERT INTO SELECT`语句。这里假设这三张表分别为table1、table2和table3,它们都有一个名为store_name的字段。
1. 使用 `UNION ALL` (如果所有表结构完全一样):
```sql
CREATE TABLE new_table AS
SELECT store_name FROM table1
UNION ALL
SELECT store_name FROM table2
UNION ALL
SELECT store_name FROM table3;
```
这会创建一个新的表new_table,包含所有三张表的store_name数据,没有去重。
2. 如果需要保留唯一值,可以使用 `UNION`:
```sql
CREATE TABLE new_table AS
SELECT DISTINCT store_name FROM table1
UNION
SELECT store_name FROM table2
UNION
SELECT store_name FROM table3;
```
3. 使用 `JOIN` 结合所有表的数据:
```sql
CREATE TABLE new_table AS
SELECT t1.store_name
FROM table1 t1
UNION ALL
SELECT t2.store_name
FROM table2 t2
UNION ALL
SELECT t3.store_name
FROM table3 t3;
```
但这需要确保每一行在每个表中都有对应的唯一标识。
4. 使用 `INSERT INTO SELECT` 直接复制数据:
```sql
CREATE TABLE new_table (
-- 新表的其他字段...
);
INSERT INTO new_table (store_name)
SELECT store_name FROM table1
UNION ALL
SELECT store_name FROM table2
UNION ALL
SELECT store_name FROM table3;
```
记得先创建new_table,并且如果新表有其他的字段,也需要同时插入。
阅读全文