表的编辑1.ppt_第1页
表的编辑1.ppt_第2页
表的编辑1.ppt_第3页
表的编辑1.ppt_第4页
表的编辑1.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、表的编辑,格式如下: ALTER TABLE ADD |DROP COLUMN |ALTER COLUMN |ADD |DROP ,更改表,使用ALTER TABLE语句可以完成以下操作: 1.增加列. 2.删除列. 3.修改列. 4.增加约束. 5.删除约束.,例1:增加列定义,在课程表中增加一列,列名为”上课地点”,类型为字符,长度为20, 允许为空值,则使用下列SQL语句: ALTER TABLE 课程表 ADD 上课地点 CHAR(20),例2:更改列定义,假设要把学生基本表中姓名由8个字符改为20个字符,则使用下列SQL语句. ALTER TABLE 学生基本表 ALTER COLU

2、MN 姓名 CHAR(20) NOT NULL,例3:删除列,将课程表中”上课地点”列删除,则使用下列SQL语句: ALTER TABLE 课程表 DROP COLUMN 上课地点,例4:增加约束,在学生基本表中增加约束”CK_日期限制”,要求入学日期必须大于等于出生日期加上16年,即年满16岁才可以入学,使用下列SQL语句: ALTER TABLE 学生基本表 ADD CONSTRAINT CK_日期限制 CHECK (入学日期=DATEADD(YEAR,16,出生日期),例5:删除约束,在学生基本表中删除约束,使用下列SQL语句: ALTER TABLE 学生基本表 DROP CONSTR

3、AINT CK_日期限制,删除表,当删除表时,则该表的定义和数据及与该表相关的数据库对象(如索引、约束等)都被删除。如果要删除的表被其他表外键约束,则该表不允许删除。例如,在没有删除成绩表的情况下,不能删除学生基本表。 DROP TABLE 例:删除职工表 DROP TABLE 职工表,插入数据,INSERT 语句 把一行或者多行数据插入到表中。这个语句有如下两个基本功能。 把所有数据插入到表中。 把从其他表中选择的数据插入到表中。 插入一行数据 INSERT INTO VALUES() 其中:,表名是要插入数据的表名。 列名表这是一个可选项,它说明要插入数据值的列名的列表。 对应列的值表这是

4、按照表定义或者列名表所规定次序的列值表。 例如:使用INSERT语句往课程表中插入一行数据。 INSERT INTO 课程表 VALUES(C001,英语,胡小雨),如果出错,说明违背了 在“课程表”中通过课程号来唯一标识每一个数据行的约束。 修改INSERT语句如下: INSERT INTO 课程表 VALUES(C002,高等数学,李波) 例: INSERT INTO 课程表 VALUES(T001,程序设计概念,NULL) 说明对上课教师无法确定的人,可以用NULL,2.插入多行数据 在INSERT语句中,使用子查询可以实现一次插入多行,实际上把子查询的结果作为数据行插入到表中,其语句简

5、明语法格式如下: INSERT INTO () 其中: 是要插入数据的表名. 这是一个可选项,它是要插入数据值的列名的列表. 这是一个查询语句(SELECT).,插入操作的异常情况,当使用INSERT语句插入数据时,会出现一些异常情况.对于初学者,常常出现的一次情况如下: 插入数据的个数多于列的个数. 提供数据的类型与列类型不兼容. 插入数据时违背了约束.,修改数据,1.使用UPDATE语句 使用该语句修改已经存在的数据. 格式如下: UPDATE SET =,= WHERE 其中:,是要修改数据的表名. 是要修改数据的列名. 是修改之后的新列值. 是被修改数据行的条件. 例如:修改一列数据.

6、 把课程号为C001的上课教师由胡小雨改为胡大雨老师. UPDATE 课程表 SET 上课教师=胡大雨 WHERE 课程号=C001,把学生赵六的奖学金从500元调整为1500元. UPDATE 学生基本表 SET 奖学金=1500 WHERE 姓名=赵六 例:按照平时成绩占30%、考试成绩占70%。 UPDATE 成绩表 SET 总成绩=平时成绩*0.3+考试成绩*0.7 如果没有平时成绩,则按照考试成绩作为总成绩,使用SQL语句:,UPDATE 成绩表 SET 总成绩=考试成绩 WHERE 平时成绩 IS NULL 如果没有平时成绩,也没有考试成绩,则总成绩为空,则使用SQL语句: UPD

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

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论