码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-02-07 15:53:54      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

插入数据

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

2 实例

INSERT INTO Authors (AuthorName,Sex,Age,Email,TelPhone,City)
VALUES (吴玉鹏,1,47,wyp@sohu.com,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,zxl@163.com,02067839876 UNION
SELECT 李辉,0,52,lh@126.com,02167345987 UNION
SELECT 洪海波,1,40,hhb@163.com,031189654329

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

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

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

标签:

原文地址:http://www.cnblogs.com/cmhunter/p/4278830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!