帮我写一个sql语句(mysql数据库) ,将原表的数据转换为目标表的数 原表表名为原表 目标表名为目标表 原表数结构 name 彭 张 李 sex 女 男 男 目标表结构 name 王 黄 sex 1 2
时间: 2024-05-15 15:14:26 浏览: 151
将表中数据生成SQL语句!
假设原表和目标表都已经创建,原表中的数据需要按照如下规则转换:
- 将“彭”改为“王”,将“张”改为“黄”;
- 将“女”改为“1”,将“男”改为“2”。
则可以使用如下 SQL 语句进行转换:
```sql
INSERT INTO 目标表 (name, sex)
SELECT
CASE
WHEN name = '彭' THEN '王'
WHEN name = '张' THEN '黄'
END AS name,
CASE
WHEN sex = '女' THEN 1
WHEN sex = '男' THEN 2
END AS sex
FROM 原表;
```
注意:在执行此语句之前,需要保证目标表中没有重复的数据,否则会出现插入重复数据的错误。如果目标表中已经有部分数据,而且这些数据与原表中的数据存在重复,可以使用 `INSERT IGNORE INTO` 语句来忽略重复数据的插入。
阅读全文