好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SQL3表的编辑.ppt

24页
  • 卖家[上传人]:re****.1
  • 文档编号:610942464
  • 上传时间:2025-05-28
  • 文档格式:PPT
  • 文档大小:57.50KB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,*,,*,表的编辑,,1,格式如下:,,ALTER TABLE ,,{ADD ,,|DROP COLUMN ,,|ALTER COLUMN ,,|ADD ,,|DROP ,,},更改表,2,,使用ALTER TABLE语句可以完成以下操作:,,1.增加列.,,2.删除列.,,3.修改列.,,4.增加约束.,,5.删除约束.,,3,,例1:增加列定义,,在课程表中增加一列,列名为”上课地点”,类型为字符,长度为20, 允许为空值,则使用下列SQL语句:,,ALTER TABLE 课程表,,ADD 上课地点 CHAR(20),,4,,例2:更改列定义,,假设要把学生基本表中姓名由8个字符改为20个字符,则使用下列SQL语句.,,ALTER TABLE 学生基本表,,ALTER COLUMN 姓名 CHAR(20) NOT NULL,,5,,例3:删除列,,将课程表中”上课地点”列删除,则使用下列SQL语句:,,ALTER TABLE 课程表,,DROP COLUMN 上课地点,,,,,,,6,,例4:增加约束,,在学生基本表中增加约束”CK_日期限制”,要求入学日期必须大于等于出生日期加上16年,即年满16岁才可以入学,使用下列SQL语句:,,ALTER TABLE 学生基本表,,ADD CONSTRAINT CK_日期限制,,CHECK (入学日期>=DATEADD(YEAR,16,出生日期)),7,,例5:删除约束,,在学生基本表中删除约束,使用下列SQL语句:,,ALTER TABLE 学生基本表,,DROP CONSTRAINT CK_日期限制,,8,,删除表,,当删除表时,则该表的定义和数据及与该表相关的数据库对象(如索引、约束等)都被删除。

      如果要删除的表被其他表外键约束,则该表不允许删除例如,在没有删除成绩表的情况下,不能删除学生基本表DROP TABLE ,,例:删除职工表,,DROP TABLE 职工表,9,,插入数据,,INSERT 语句 把一行或者多行数据插入到表中这个语句有如下两个基本功能把所有数据插入到表中把从其他表中选择的数据插入到表中插入一行数据,,,INSERT INTO <,表名,> [<,列名表,>] VALUES(<,对应列的值表,>),,其中:,10,,〈表名〉是要插入数据的表名〈列名表〉这是一个可选项,它说明要插入数据值的列名的列表〈对应列的值表〉这是按照表定义或者〈列名表〉所规定次序的列值表例如:使用INSERT语句往课程表中插入一行数据INSERT INTO 课程表 VALUES(‘C001’,‘英语’,‘胡小雨‘),,11,,如果出错,说明违背了 在“课程表”中通过课程号来唯一标识每一个数据行的约束修改INSERT语句如下:,,INSERT INTO 课程表 VALUES(’C002‘,‘高等数学’,‘李波’),,例:,,INSERT INTO 课程表 VALUES(‘T001’,‘程序设计概念’,NULL),,说明对上课教师无法确定的人,可以用NULL,12,,2.插入多行数据,,在INSERT语句中,使用子查询可以实现一次插入多行,实际上把子查询的结果作为数据行插入到表中,其语句简明语法格式如下:,,INSERT INTO [()],,其中:,,是要插入数据的表名.,,这是一个可选项,它是要插入数据值的列名的列表.,,这是一个查询语句(SELECT).,13,,插入操作的异常情况,,当使用INSERT语句插入数据时,会出现一些异常情况.对于初学者,常常出现的一次情况如下:,,插入数据的个数多于列的个数.,,提供数据的类型与列类型不兼容.,,插入数据时违背了约束.,14,,修改数据,,1.使用UPDATE语句,,使用该语句修改已经存在的数据.,,格式如下:,,UPDATE ,,SET =[,=],,[WHERE ],,其中:,15,,是要修改数据的表名.,,是要修改数据的列名.,,是修改之后的新列值.,,是被修改数据行的条件.,,例如:修改一列数据.,,把课程号为C001的上课教师由胡小雨改为胡大雨老师.,,UPDATE 课程表,,SET 上课教师=‘胡大雨’,,WHERE 课程号=‘C001’,16,,把学生赵六的奖学金从500元调整为1500元.,,UPDATE 学生基本表,,SET 奖学金=1500,,WHERE 姓名=‘赵六’,,例:按照平时成绩占30%、考试成绩占70%。

      UPDATE 成绩表,,SET 总成绩=平时成绩*0.3+考试成绩*0.7,,如果没有平时成绩,则按照考试成绩作为总成绩,使用SQL语句:,,17,,UPDATE 成绩表,,SET 总成绩=考试成绩,,WHERE 平时成绩 IS NULL,,如果没有平时成绩,也没有考试成绩,则总成绩为空,则使用SQL语句:,,UPDATE 成绩表,,SET 总成绩=NULL,,WHERE 平时成绩 IS NULL AND 考试成绩 IS NULL,,18,,例如:修改多列数据,,如果UPDATE语句的SET子句有多对列名和列值,则能修改多列数据把学号为X201的孙山同学从信息学院的计算机应用专业调整到商学院的会计专业,则使用如下语句:,,UPDATE 学生基本表,,SET 院系名称=‘商学院’,专业=‘会计’,,WHERE 学号=‘X201’,,注意:为什么不用姓名作为条件?,19,,修改数据的异常情况,,没有要修改的数据设置新值时,数据类型不兼容修改数据时违背了约束例1:没有要修改的数据,,在课程表中,将调整课程号为C999的课程上课教师调整为胡越老师,则使用下列UPDATE语句:,,UPDATE 课程表,,SET 上课教师=‘胡越’,,WHERE 课程号=‘C999’,20,,例2:设置新值时,数据类型不兼容。

      学号为X201的奖学金需要调整,则考虑使用下列UPDATE语句:,,UPDATE 学生基本表,,SET 奖学金=‘2005-2-23’,,WHERE 学号=‘X201’,,说明输入的字符串无法正确转换为合法的时间日期数据,只是因为数据类型不兼容21,,例3:修改数据时违背了约束在建立学生基本表时,说明了奖学金在0~5000之间,执行下列语句时会出现异常情况:,,UPDATE 学生基本表,,SET 奖学金=10000,,WHERE 学号=‘X201’,,结果出错,这是约束条件在起作用,对于初学者来讲要特别注意这些语句执行过程中的异常情况22,,删除数据,,1.DELETE 语句,,DELETE语句能够删除表中的数据行,格式:,,DELETE FROM [WHERE ],,例如:删除一行数据,,孙山(学号为X201)由于某种原因离开了学校,所以要把这名学生的信息从学生基本表中删除23,,DELETE FROM 学生基本表,,WHERE 学号=‘X201’,,例如:由于商学院的学生毕业,所以要把商学院的学生信息从学生基本表中删除DELETE FROM 学生基本表,,WHERE 院系名称=‘商学院’,,如果要删除整个表,则不需要WHERE子句。

      删除操作的异常情况:,,没有要删除的数据删除数据时违背了约束例:DELETE FROM 学生基本表,,WHERE 学号=‘AAAA’,24,,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.