现在的位置: 首页 > 综合 > 正文

T-SQL(5)-操作数据行

2012年10月15日 ⁄ 综合 ⁄ 共 1288字 ⁄ 字号 评论关闭
 

插入数据行

INSERT  [INTO] <表名>  [列名] VALUES <值列表>

INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX)

VALUES ('张青裁','上海松江',6,'ZQC@Sohu.com',0)

注意事项:

1: 每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;

2: 每个数据值的数据类型、精度和小数位数必须与相应的列匹配;

3: 不能为标识列指定值,因为它的数字是自动增长的;

4: 如果在设计表的时候就指定了某列不允许为空,则必须插入数据;

5: 插入的数据项,要求符合检查约束的要求

6: 具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值

 

插入多行数据1

INSERT INTO <表名>(列名)

SELECT <列名>

FROM <源表名>

INSERT INTO        TongXunLu ('姓名','地址','电子邮件')

SELECT SName,SAddress,SEmail

FROM            Students

 

插入多行数据 2

SELECT (列名)

INTO <表名>

FROM <源表名>

SELECT Students.SName,Students.SAddress,Students.SEmail

INTO         TongXunLu

FROM     Students

问题是SELECT INTO插入多行数据的时候,如何插入新的标识列?

SELECT IDENTITY(数据类型,标识种子,标识增长量) AS 列名

INTO 新表

FROM 原始表

SELECT Students.SName,Students.SAddress,Students.SEmailIDENTITY(int,1,1) As StudentID

INTO TongXunLuEX

FROM Students

 

插入多行数据 3

INSERT INTO <表名>(列名)

SELECT <列名> UNION

SELECT <列名> UNION

……

INSERT  STUDENTS (SName,SGrade,SSex)

SELECT '测试女生1',7,0 UNION

SELECT '测试女生2',7,0 UNION

SELECT '测试女生3',7,0 UNION

SELECT '测试女生4',7,0 UNION

SELECT '测试女生1',7,0 UNION

SELECT '测试男生2',7,1 UNION

SELECT '测试男生3',7,1 UNION

SELECT '测试男生4',7,1 UNION

SELECT '测试男生5',7,1

 

更新数据行

UPDATE <表名> SET <列名 = 更新值>

[WHERE <更新条件>]

UPDATE Scores

SET Scores = Scores + 5

WHERE Scores <= 95

 

删除数据行

DELETE FROM <表名> [WHERE <删除条件>]

或者:TRUNCATE TABLE <表名>

这里DELETE FROM Students=TRUNCATE TABLE Students

 

查询数据行

由于数据查询是最常见的操作数据行的方式,所以我们下面单独讨论。

 

【上篇】
【下篇】

抱歉!评论已关闭.