SQL语言-表的基本操作.ppt_第1页
SQL语言-表的基本操作.ppt_第2页
SQL语言-表的基本操作.ppt_第3页
SQL语言-表的基本操作.ppt_第4页
SQL语言-表的基本操作.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第2节表的基本操作,第3章关系数据库语言SQL,主要内容,基本表的定义基本表的修改表的撤消数据插入、修改与删除,CREATETABLE(,,,);,不能与SQL语言中的保留字同名不能与其它表名或视图名同名是以字母开头,由字母、数字和下划线“_”组成的字符串,长度不超过30个字符。,一、基本表的定义,一个表可以有若干列,但至少要有一列。每一列必须有一个列名和相应的数据类型。同一表中的列名不能重名。,指定基本表中属性的取值特性和范围,所谓“完整性约束”是为保护数据库中的数据所作的各种检查或数据应满足的约束条件。,当不选择该项时,默认值为NULL,表示该列可以为空值。当选择该项时,由用户根据各属性列的数据特点和要求给出该列数据的完整性约束条件:NULL|NOTNULL|PRIMARYKEY|DEFAULT|CHECK|UNIQUE|NOTNULLUNIQUE,由用户根据表中各属性列数据的特点和要求给出所在表的数据的约束条件。包括:表的主键约束子句、表的外键约束子句和表的检验约束CHECK子句。,示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT);列名数据类型,示例:学习关系SC的创建语句,定义方式如果表中只有一个列是主键时,可在基本表定义的处,标识相应的约束关键字,说明某个属性是主键或候选键。例:教学管理数据库系统中的专业关系SSCREATETABLESS(SCODE#CHAR(5)PRIMARYKEY,SSNAMEVARCHAR(30)NOTNULL);,1、主键约束,1、主键约束(续),如果表的主键由一列或多列组成,在基本表定义的处,通过键约束子句说明某个特定的属性或属性集构成主键或候选键。PRIMARYKEY(,),1、主键约束(例),例:教学管理数据库系统中的学习关系SC。CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#);,2、外键约束,外键可以在基本表定义的处,通过外键约束子句进行说明。FOREIGNKEY()REFERENCES()必须说明第二个关系中的参照属性为该关系的主键出现在第一个关系的外键中的任何值也必须出现在第二个关系的相应属性中,即存在着连接这两个属性或属性集的参照完整性约束,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#);,示例:教学管理数据库系统中的学习关系SC,2、外键约束(例),3、CHECK约束,CHECK约束是用来指定某一个属性或多个属性可以满足的条件,可以在基本表定义的或进行说明CHECK(),CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);,示例:教学管理数据库系统中的学生关系S,3、CHECK约束(例),示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#),CHECK(GRADEBETWEEN0AND100);,3、CHECK约束(例),4、缺省值约束,用关键字DEFAULT说明,用于给所在的列设置一个缺省值,即在插入一个新记录时,如果带有DEFAULT选项的列没有数据,就将缺省值作为该列的数据。DEFAULT(),示例:教学管理数据库系统中的学习关系SC,CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINTDEFAULT(0),PRIMARYKEY(S#,C#),FOREIGNKEY(S#)REFERENCESS(S#),FOREIGNKEY(C#)REFERENCESC(C#),CHECK(GRADEBETWEEN0AND100));,4、缺省值约束(例),5、非空约束,使用关键字NOTNULL说明,用于指出某属性列不能为空值。每一个表中至少应有一个列的可选项为NOTNULL主键列已隐含可选项为NOTNULL,示例:教学管理数据库系统中的学生关系S,CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);,5、非空约束(例),二、基本表的修改,1、改变表名修改表名的语句格式为:RENAMETO;例:将SS表改名为SS1。RENAMESSTOSS1;,2、增加列,在表的最后一列后面增加新的一列:ALTERTABLEADD;例:给学生表新增一个属性“民族”,数据类型为CHAR(10)。ALTERTABLESADDnationalityCHAR(10);,3、删除列,删除表中不再需要的列,格式为:ALTERTABLEDROPCASCADE|RESTRICT;CASCADE表示所有引用到该列的视图或有关约束一并删除;RESTRICT表示在没有视图或有关约束引用时,该列才能被删除,否则拒绝操作。例:删除教师表T中的出生年月。ALTERTABLETDROPTBIRTHINRESTRICT;,4、修改列的定义,修改列的定义,包括列的类型、长度,格式为:ALTERTABLEMODIFY;例:将专业表SS中的专业名称列长度由30改为40。ALTERTABLESSMODIFYSSNAMEVARCHAR(40);,三、表的撤消,将不需要的表或定义错误的表删除掉,格式为:DROPTABLECASCADE|RESTRICT;当一个表被撤消时,该表中的数据也一同被删除。,指出哪些列需要插入数据,指出要插入的列的具体值,四、数据插入、修改与删除,1、数据插入向表中插入一行(单元组)数据。INSERTINTO()VALUES();,可省,1、数据插入示例,给学习关系SC中插入王丽丽同学(学号为200401003)学习计算机网络课(课程号为C403001)的成绩(89分)。INSERTINTOSC(S#,C#,GRADE)VALUES(200401003,C403001,89);,2、数据修改,UPDATESET,,WHERE;,2、数据修改示例,将所有女同学的专业改为S0404UPDATESSETSCODES0404WHERESSEX女;,3、数据删除,DELETEFROMWHERE;示例在学生关系S中删除学号为200403001的学生信

温馨提示

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

评论

0/150

提交评论