- 17
- 0
- 约1.49万字
- 约 38页
- 2017-11-26 发布于湖北
- 举报
第3章 关系数据库标准语言SQL--3.5-3.6
修改基本表说明 其中: 表名 指定需要修改的基本表, ADD子句用于增加新列和新的完整性约束条件, ALTER子句用于修改原有的列定义, DROP子句用于删除指定的完整性约束条件或原有列。 示例 [例1] 向student表增加“入学时间”列,其数据类型为日期型 alter table student add scome datetime 注:不论基本表中原来是否已有数据,新增加的列一律为空值。 [例2] 将年龄的数据类型改为半字长整数。 alter table student alter column age smallint 注:修改原有的列定义,会使列中数据作新旧类型的自动转化,有可能会破坏已有数据。 [例3] 删除例1增加的“入学时间”列。 alter table s drop column scome 3)删除数据表 T-SQL中对表进行删除的语句是DROP TABLE,该语句的语法格式为: DROP TABLE table_name 其中table_name是要被删除的表名。 例如,要删除表SC,使用的T-SQL语句为: DROP TABLE SC 返回本节 3.6 SQL数据更新 1、插入数据 INSERT 2、修改数据 UPDATE 3、删除数据 DELETE 1、插入表数据 插入一个元组基本格式 INSERT INTO 表名[(列名[,列名…])] VALUES(表达式[,表达式……]) 插入一个查询结果 INSERT INTO 表名[(列名[,列名…])] SELECT查询 插入操作举例 插入一个完整的元组 INSERT INTO Student VALUES(‘200215121’,‘李勇’,‘男’,20,’CS’) 插入一个不完整的元组 INSERT INTO Student(Sno,Sname) VALUES(‘200215122’,’刘晨’) 插入一个查询结果 INSERT INTO Student2( SELECT * FROM Student) 插入数据时注意事项 新插入记录应与表结构定义匹配; 列名项数与提供值的数目应匹配; 可以指定列值为Null; INTO子句中没有出现的属性列,新记录在这些列上将取空值(Null)或默认值; 如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值,且顺序应与表中属性列顺序一致。 练习 向Student表中插入一条记录(‘200501’,’李勇’) 向Student表中插入记录(’200502’,’男’)和(’200503’,’女’) 向Student表中插入记录(’200504’,’刘晨’)和(’200505’,’女’) 2、修改表数据 基本格式 Update table_name Set 列名1=表达式 [, 列名2=表达式] … [where 逻辑表达式] 含义:修改指定表中满足where子句条件的结果 说明: 一次可以更新多个属性的值; 如果省略where语句,则表示要修改表中的所有记录。 三种修改方式 1、修改某一个元组的值 2、修改多个元组的值 3、带子查询的修改语句 在修改之前建议先查看表记录(Select * from table) 查看数据表Student所有记录 SELECT * FROM Student 查看数据表Student中字段学号、姓名的所有记录 SELECT Sno,Sname FROM Student 给学号为200215122的学生年龄增加1岁 UPDATE Student SET age = age+1 WHERE Sno=‘200215122’ 给CS系的男同学年龄增加1岁 UPDATE Student SET age = age+1 WHERE dept=‘CS’ and sex=‘男’ 给所有课程的学分提高1分 UPDATE Course SET credit = credit +1 将学号为200515121同学的姓名,性别,年龄分别设置为(张三,男,20) UPDATE Student SET sname=‘张三’,sex=‘男’,age=20 WHERE Sno=‘200515121’ 给CS系的学生的选课成绩增加10分(带子查询的修改语句) UPDATE SC SET score= score+10 WHERE Sno= (SELECT Sno FROM Student WHERE Student.dept =‘CS’) 练习 将数据表student中学号为200215121的记录的性别及所在系的字段值改为(女,I
原创力文档

文档评论(0)