T-SQL(5)-操作数据行(芮)
插入数据行 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.SEmail,IDENTITY(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 查询数据行 由于数据查询是最常见的操作数据行的方式,所以我们下面单独讨论。