数据库系列之数据管理(插入数据)

插入数据

1 语法
INSERT  [INTO]  <表名>  [(列名)]  VALUES  <值列表>
其中:“[]”代表可选的;“<>”代表必需的。如果有多个列名和多个列值需要用逗号隔开。

2 实例

INSERT INTO Authors (AuthorName,Sex,Age,Email,TelPhone,City)
VALUES (吴玉鹏,1,47,[email protected],01090876529,北京)

实现功能:把Values子句提供的列值依次赋值给表中指定的各列。
添加数据时,字符型和日期型数据的值要用单引号括起来。

使用Insert Select语句插多行数据

1 语法
INSERT INTO  <表2>    [列名]
SELECT  <列名>  FROM  <表1>
注意:
(1)<表2>必须事先存在。如果不存在,执行时将会出现错误。
(2)查询出的字段数目、数据类型、字段顺序,与插入列保持一致。
2 示例
要将Authors表中所有作者信息保存到AuthorsInfo表中。

INSERT INTO AuthorsInfo (作者姓名,年龄,电子邮件,所在城市)
SELECT AuthorName,Age,Email,City
FROM Authors

使用Select Into语句插入多行数据

1 语法
SELECT  <列名> 
INTO  <新表>
FROM  <原始表>
注意:
    <新表>不能事先存在,它是在执行该语句时系统自动创建的。

2 示例
要将Authors表中“作者姓名、年龄、电子邮件、所在城市”数据存储到一个新表中

SELECT IDENTITY(int, 1, 1) as Id, AuthorName,Age,Email,City
INTO NewAuthorsName 
FROM Authors

使用Select Into语句插入标识列数据

1 语法
SELECT  IDENTITY(数据类型, 标识种子, 标识增量)  as 列名 
INTO  <新表>
FROM  <原始表>

2 示例
要将Authors表中“作者姓名、年龄、电子邮件”数据存储到一个新表中,并且
要求插入新表时自动生成标识列字段。

SELECT IDENTITY(int, 1, 1) as Id, AuthorName,Age,Email,City
INTO NewAuthorsName 
FROM Authors

使用Union关键字插入多行数据

1 语法
INSERT  [INTO]  <表名>  [列名]
SELECT  <值列表> UNION
SELECT  <值列表> UNION
SELECT  <值列表>
注意:
[列名]:可以省略,如果省略列名,那么<值列表>的数据个数、顺序、数据类型必须与表中字段顺序、数据类型保持一致。

2 示例
向Authors表中一次插入多位作者信息 。

INSERT INTO Authors (AuthorName, Sex, Age, Email, TelPhone)
SELECT 张笑林,1,30,[email protected],02067839876 UNION
SELECT 李辉,0,52,[email protected],02167345987 UNION
SELECT 洪海波,1,40,[email protected],031189654329

3 使用Union注意的问题
Union语句中不能使用DEFAULT关键字

INSERT INTO Authors (AuthorName, Sex, Age, Email, TelPhone, City)
SELECT 张笑林,1,30,[email protected],02067839876,上海 UNION
SELECT 李辉,0,52,[email protected],02167345987,DEFAULT UNION
SELECT 洪海波,1,40,[email protected],031189654329,石家庄
语法检测就出现错误提示:关键字‘default‘ 附近有语法错误。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。