- 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
描述
请编写 SQL 语句,将教师表 teachers 中所有的数据复制到结构相同的空表 teachers_bkp 表中。
表定义:teachers(教师表)
| 列名 | 类型 | 注释 |
|---|---|---|
| id | int unsigned | 主键 |
| name | varchar | 讲师姓名 |
| varchar | 讲师邮箱 | |
| age | int | 讲师年龄 |
| country | varchar | 讲师国籍 |
表定义:teachers_bkp
| 列名 | 类型 | 注释 |
|---|---|---|
| id | int unsigned | 主键 |
| name | varchar | 讲师姓名 |
| varchar | 讲师邮箱 | |
| age | int | 讲师年龄 |
| country | varchar | 讲师国籍 |
**
如果 teachers 的数据为 null 的时候,返回的 teachers_bkp 也为 null
样例
样例一
表内容:teachers
| id | name | age | country | |
|---|---|---|---|---|
| 1 | Eastern Heretic | eastern.heretic@gmail.com | 20 | UK |
| 2 | Northern Beggar | northern.beggar@qq.com | 21 | CN |
| 3 | Western Venom | western.venom@163.com | 28 | USA |
| 4 | Southern Emperor | southern.emperor@qq.com | 21 | CN |
| 5 | Linghu Chong | NULL | 18 | CN |
在运行你的 SQL 语句之后,我们会执行以下语句:
SELECT *
FROM `teachers_bkp`;
返回:
| id | name | age | country | |
|---|---|---|---|---|
| 1 | Eastern Heretic | eastern.heretic@gmail.com | 20 | UK |
| 2 | Northern Beggar | northern.beggar@qq.com | 21 | CN |
| 3 | Western Venom | western.venom@163.com | 28 | USA |
| 4 | Southern Emperor | southern.emperor@qq.com | 21 | CN |
| 5 | Linghu Chong | NULL | 18 | CN |
样例二
表内容:teachers
| id | name | age | country |
|---|
在运行你的 SQL 语句之后,我们会执行以下语句:
SELECT *
FROM `teachers_bkp`;
返回:
| id | name | age | country |
|---|
这里教师表为空,所以返回的 teachers_bkp表也为空
题解
首先mysql往一张表插入数据是使用INSERT INTO:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
```
INSERT INTO 表名 SET 列名=值,列名1 = 值1,列名2=值2...
为了往表中插入数据,我们需要先获取数据。select ,因为是整张表,我们直接使用select * from 即可人,不需要列举字段。
insert into teachers_bkp
select *
from teachers;