SQL 教程
1. SQL 教程 2. SQL 简介 3. SQL 语法 4. SQL SELECT 语句 5. SQL SELECT DISTINCT 语句 6. SQL WHERE 子句 7. SQL AND & OR 运算符 8. SQL ORDER BY 关键字 9. SQL INSERT INTO 语句 10. SQL UPDATE 语句 11. SQL DELETE 语句 12. SQL SELECT TOP, LIMIT, ROWNUM 13. SQL LIKE 操作符 14. SQL 通配符 15. SQL IN 操作符 16. SQL BETWEEN 操作符 17. SQL 别名 18. SQL 连接(JOIN) 19. SQL INNER JOIN 关键字 20. SQL LEFT JOIN 关键字 21. SQL RIGHT JOIN 关键字 22. SQL FULL OUTER JOIN 关键字 23. SQL UNION 操作符 24. SQL SELECT INTO 语句 25. SQL INSERT INTO SELECT 语句 26. SQL CREATE DATABASE 语句 27. SQL CREATE TABLE 语句 28. SQL 约束 29. SQL NOT NULL 约束 30. SQL UNIQUE 约束 31. SQL PRIMARY KEY 约束 32. SQL FOREIGN KEY 约束 33. SQL CHECK 约束 34. SQL DEFAULT 约束 35. SQL CREATE INDEX 语句 36. SQL 撤销索引、表以及数据库 37. SQL ALTER TABLE 语句 38. SQL AUTO INCREMENT 字段 39. SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句 40. SQL Server 和 MySQL 中的 Date 函数 41. SQL NULL 值 – IS NULL 和 IS NOT NULL 42. SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 43. SQL 通用数据类型 44. SQL MS Access、MySQL 和 SQL Server 数据类型 45. SQL 函数 46. SQL AVG() 函数 47. SQL COUNT() 函数 48. SQL FIRST() 函数 49. SQL LAST() 函数 50. SQL MAX() 函数 51. SQL MIN() 函数 52. SQL SUM() 函数 53. SQL GROUP BY 语句 54. SQL HAVING 子句 55. SQL UCASE() 函数 56. SQL LCASE() 函数 57. SQL MID() 函数 58. SQL LEN() 函数 59. SQL ROUND() 函数 60. SQL NOW() 函数 61. SQL FORMAT() 函数 62. SQL 快速参考 63. SQL 主机 64. SQL 总结

SQL SELECT INTO 语句

SQL SELECT INTO 语句


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

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


SQL SELECT INTO 语句

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

注意:

MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT

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


CREATE TABLE 新表

AS

SELECT * FROM 旧表 

SQL SELECT INTO 语法

我们可以复制所有的列插入到新表中:

SELECT *
INTO newtable [IN externaldb]
FROM table1;

或者只复制希望的列插入到新表中:

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

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



SQL SELECT INTO 实例

创建 Websites 的备份复件:

SELECT *
INTO WebsitesBackup2016
FROM Websites;

只复制一些列插入到新表中:

SELECT name, url
INTO WebsitesBackup2016
FROM Websites;

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

SELECT *
INTO WebsitesBackup2016
FROM Websites
WHERE country='CN';

复制多个表中的数据插入到新表中:

SELECT Websites.name, access_log.count, access_log.date
INTO WebsitesBackup2016
FROM Websites
LEFT JOIN access_log
ON Websites.id=access_log.site_id;

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

SELECT *
INTO newtable
FROM table1
WHERE 1=0;