SQL研习录(15)——SELECT INTO语句
版权声明
- 本文原创作者:清风不渡
- 博客地址:https://blog.youkuaiyun.com/WXKKang
一、SELECT INTO语句
如果需要将一个表中的信息复制到另一个表中,就可以使用SELECT INTO语句了,它可以从一个表中复制数据,然后将数据插入到另一个新表中
1、基本语法
如果我们需要将所有的数据都插入新表中,可以使用以下语法:
SELECT *
INTO _newtable_ [IN _externaldb_ ]
FROM _table1;_
如果只需要复制希望的列到新表中,可以使用以下语法:
SELECT _column_name(s)_
INTO _newtable_ [IN _externaldb_ ]
FROM _table1;_
注意: 这个操作将使用SELECT中定义的列名和类型创建新表,如果需要使用其他名称,则可以使用AS子句来定义一个新的名称
如果需要复制到另一个数据库中,可在语句中写上方括号“[ ]”中的内容
2、示例
首先我们来创建一组测试数据,代码如下:
-- 创建表
CREATE TABLE student(
s_id varchar(50) NOT NULL PRIMARY KEY,
s_name varchar(50),
s_gender varchar(50)
)
-- 插入数据
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S101','Lucy','female');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S102','Jack','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S103','Bruce','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S104','Tom','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S105','Jayce','male');
1、如果我们需要将所有数据都插入到新表(student1)中,则可使用下面的语句:
SELECT *
INTO student1
FROM student;
查询student1中的数据,显示执行结果如下:
2、如果我们需要将部分列的数据插入到新表(student2)中,则可使用下面的语句:
SELECT s_id,s_name
INTO student2
FROM student;
查询student2中的数据,显示执行结果如下:
3、如果我们需要在新表(student3)中使用新定义的列名,则可使用下面的语句:
SELECT
s_id AS a_id,s_name AS a_name,s_gender AS a_gender
INTO student3
FROM student;
查询student3中的数据,显示执行结果如下: