SQL SELECT INTO语句

编程知识 行业动态 更新时间:2024-06-13 00:22:17

SQL SELECT INTO语句

通过SQL,您可以从一个表复制信息到另一个表。

SELECT INTO语句从一个表复制数据,然后把数据插入到另一个新表中。

SQL SELECT INTO语句

注意:

MYSQL数据库不支持SELECT…INTO语句,但支持INSERT INTO…SELECT。

可以使用以下语句来拷贝表结构及数据:

CREATE TABLE 新表
AS
SELECT * FROM 旧表
SQL SELECT INTO语法

1.复制所有的列插入到新表中:

SELECT *
INTO newtable [IN externaldb]    --externaldb外部数据库
FROM table1

2.复制希望的列插入到新表中:

SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1

提示:新表将会使用SELECT语句中定义的列名称和类型进行创建,可以使用AS子句来应用新名称。

SQL SELECT INTO 实例

1.创建Websites备份文件:查询出Websites表,复制所有的列至新表WebsitesBackup1中

SELECT * 
INTO WebsitesBackup1
FROM Websites

SELECT * FROM WebsitesBackup1

personID	name	url	alexa	country
1	Google	https://www.google.cm/	1	USA
2	淘宝	https://www.taobao/	13	CN
3	菜鸟教程	https://www.runoob/	4689	CN
4	微博	https://www.weibo/	20	CN
5	Facebook	https://www.facebook/	3	CN
7	stackoverflow	https://www.stackoverflow/	0	USA

2.只复制一些列到新表中:只查询Websites表中name,url列,并复制到新表WebsitesBackup2中

SELECT name,url
INTO WebsitesBackup2     ---必须是新表,如果是已存在的表,执行语句会提示:数据库已存在该对象
FROM Websites

SELECT * FROM WebsitesBackup2

name	url
Google	https://www.google.cm/
淘宝	https://www.taobao/
菜鸟教程	https://www.runoob/
微博	https://www.weibo/
Facebook	https://www.facebook/
stackoverflow	https://www.stackoverflow/

3.只复制中国的网站插入到新表中:

SELECT *
INTO WebsitesBackup4
FROM Websites
WHERE country = 'CN'
小提示:因为题目是需要复制中国的网站,所以必须使用country='CN'该过滤条件;
如果不添加,会把Websites表所有列制到新表中;
如果不添加,并指定查询添加列名为country,会把Websites表中country列复制到新表中,且查询的是所有网站,没有精确定位到中国网站。

SELECT * FROM WebsitesBackup4

personID	name	url	alexa	country
2	淘宝	https://www.taobao/	13	CN
3	菜鸟教程	https://www.runoob/	4689	CN
4	微博	https://www.weibo/	20	CN
5	Facebook	https://www.facebook/	3	CN

4.复制多个表中得数据插入到新表中:

SELECT Websites.name,access_log.count,access_log.date
INTO WebsitesBackup5
FROM Websites
LEFT JOIN access_log
ON Websites.personID = access_log.site_id

SELECT * FROM WebsitesBackup5

name	count	date
Google	45	2016-05-10 00:00:00.000
Google	230	2016-05-14 00:00:00.000
淘宝	10	2016-05-14 00:00:00.000
菜鸟教程	100	2016-05-13 00:00:00.000
菜鸟教程	220	2016-05-15 00:00:00.000
菜鸟教程	201	2016-05-17 00:00:00.000
微博	13	2016-05-15 00:00:00.000
Facebook	205	2016-05-14 00:00:00.000
Facebook	545	2016-05-16 00:00:00.000
stackoverflow	NULL	NULL

提示:SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的WHERE子句即可:

SELECT *
INTO newtable
FROM table1
WHERE 1=0

实例:

SELECT * 
INTO WebsitesBackup6
FROM Websites
WHERE personID= '0'   ---PersonID的值没有为0的

SELECT * FROM WebsitesBackup6
只能查询表列名,没有任何数据

更多推荐

SQL SELECT INTO语句

本文发布于:2023-04-02 04:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/66267dbef10cb7e2e892df6d5d1eddc9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   SQL   SELECT

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!