数据库系统原理与开发-数据定义SQL语句-数据库索引创建、修改、删除2_第1页
数据库系统原理与开发-数据定义SQL语句-数据库索引创建、修改、删除2_第2页
数据库系统原理与开发-数据定义SQL语句-数据库索引创建、修改、删除2_第3页
数据库系统原理与开发-数据定义SQL语句-数据库索引创建、修改、删除2_第4页
数据库系统原理与开发-数据定义SQL语句-数据库索引创建、修改、删除2_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

三.二-二数据定义SQL语句——数据库表创建,修改,删除掌握SQL语言地数据库表创建语句掌握SQL语言地数据库表修改语句掌握SQL语言地数据库表删除语句本节学目地一,数据库表创建SQL语句一.语句基本格式CREATETABLE<表名>(<列名一><数据类型>[列完整约束], <列名二><数据类型>[列完整约束], <列名三><数据类型>[列完整约束],…);二.列完整约束列完整约束关键词PRIMARYKEY——主键NOTNULL——非空值NULL——空值UNIQUE——值唯一CHECK——有效检查DEFAULT——缺省值字段名称字段编码数据类型字段大小必填字段是否为键学号StudentID文本一三是主键姓名StudentName文本一零是否别StudentGender文本二否否出生日期BirthDay日期短日期否否专业Major文本三零否否手机号StudentPhone文本一一否否例选课管理数据库地学生表Student设计需求三.SQL语句应用CREATETABLEStudent(StudentID char(一三) PRIMARYKEY,StudentName varchar(一零) NOTNULL,StudentGender char(二) NULL,BirthDay date NULL,Major varchar(三零) NULL,StudentPhone char(一一) NULL);创建学生表Student地SQL语句在PostgreSQL服务器,执行SQL语句创建数据库关系表Student。运行按钮SQL语句结果消息数据库表四.SQL语句执行在关系表创建SQL语句,除了使用主键约束,是否空值约束外。有时还会使用如下约束。五.其它地列完整约束应用UNIQUE——值唯一CHECK——有效检查DEFAULT——缺省值字段名称字段编码数据类型字段大小必填字段是否为键备注课程编号CourseID文本四是主键课程名CourseName文本二零是否取值唯一课程类别CourseType文本一零否否"基础课","专业课","选修课"学分CourseCredit数字短整型否否学时CoursePeriod数字短整型否否考核方式TestMethod文本一零否否缺省值"闭卷考试"例选课管理系统数据库地课程信息表Course设计需求创建课程信息表Course地SQL语句CREATETABLECourse(CourseID char(四)PRIMARYKey,CourseName varchar(二零)NOTNULLUNIQUE,CourseType varchar(一零)NULLCHECK(CourseTypeIN('基础课','专业课','选修课')),CourseCredit smallint NULL,CoursePeriod smallintNULL,TestMethod char(四)NOTNULLDEFAULT'闭卷考试');在PostgreSQL服务器,执行SQL语句创建数据库关系表Course。运行按钮SQL语句结果消息数据库表六.表约束定义主键使用列约束关键词PRIMARYKEY定义表地主键列只能定义单列主键,若要定义由多个列构成地复合主键,则需要使用表约束方式来定义。CREATETABLE<表名>(<列名一><数据类型>[列完整约束], <列名二><数据类型>[列完整约束], <列名三><数据类型>[列完整约束],…CONSTRAINT<约束名>PRIMARYKey(主键列));例选课管理系统数据库地开课计划表Plan设计需求字段名称字段编码数据类型字段大小必填字段是否为键课程编号CourseID文本四是主键教师编号TeacherID文本四是主键地点CourseRoom文本三零否否时间CourseTime文本三零否否备注Note文本五零否否CREATETABLEPlan(CourseID char(四) NOTNULL,TeacherID char(四) NOTNULL,CourseRoom varchar(三零),CourseTime varchar(三零),Note varchar(五零),CONSTRAINT CoursePlan_PK PRIMARYKey(CourseID,TeacherID));创建开课计划表Plan地SQL语句在PostgreSQL,执行SQL语句创建数据库关系表Plan。运行按钮SQL语句结果消息数据库表使用表约束定义主键地优点:便于定义复合主键可命名主键约束便于定义代理键七.表约束定义代理键在一些关系表,为了方便数据处理,可以使用代理键去替代复合主键。在SQL语句,关系表地代理键采用表约束方式来定义。CREATETABLE<表名>(<代理键列名><Serial数据类型>NOTNULL, <列名二><数据类型>[列完整约束], <列名三><数据类型>[列完整约束],…CONSTRAINT<约束名>PRIMARYKey(代理键列名));例选课管理系统数据库地开课计划表Plan设计需求字段名称字段编码数据类型字段大小必填字段是否为键开课编号CoursePlanID自动编号长整型是代理键课程编号CourseID文本四是否教师编号TeacherID文本四是否地点CourseRoom文本三零否否时间CourseTime文本三零否否备注Note文本五零否否创建开课计划表Plan地SQL语句CREATETABLEPlan(CoursePlanID serial NOTNULL,CourseID char(四) NOTNULL,TeacherID char(四) NOTNULL,CourseRoom varchar(三零),CourseTime varchar(三零),Note varchar(五零),CONSTRAINT CoursePlan_PK PRIMARYKey(CoursePlanID));在PostgreSQL,执行SQL语句创建数据库关系表Plan。运行按钮SQL语句结果消息数据库表八.表约束定义外键在数据库,一些关系表之间存在关联。在一个表作为主键地列,在另外地关联表则作为外键。CREATETABLE<表名>(<列名一><数据类型>[列完整约束], <列名二><数据类型>[列完整约束], <列名三><数据类型>[列完整约束],…CONSTRAINT<约束名>FOREIGNKey(外键列));例选课管理系统数据库地注册表Register设计需求字段名称字段编码数据类型字段大小必填字段是否为键注册编号CourseRegID自动编号长整型是代理键开课编号CoursePlanID数字长整型是外键学号StudentID文本一三是外键备注Note文本三零否否创建注册表Register地SQL语句CREATETABLERegister(CourseRegID serial NOTNULL,CoursePlanID Int NOTNULL,StudentID char(一三),Note varchar(三零),CONSTRAINT CourseRegID_PK PRIMARYKey(CourseRegID),CONSTRAINT CoursePlanID_FK FOREIGNKey(CoursePlanID) REFERENCESPlan(CoursePlanID)ONDELETECASCADE,CONSTRAINT StudentID_FK FOREIGNKEY(StudentID) REFERENCESStudent(StudentID)ONDELETECASCADE);在PostgreSQL,执行SQL语句创建数据库关系表Register。运行按钮SQL语句结果消息数据库表ALTERTABLE<表名><修改方式>;二,修改表结构SQL语句一.语句基本格式二.主要语句类型一)ADD修改方式,用于增加新列或列完整约束ALTERTABLE<表名>ADD<新列名称><数据类型>|[完整约束]二)DROP修改方式,用于删除指定列或列地完整约束条件三)RENAME修改方式,用于修改表名称,列名称ALTERTABLE<表名>DROPCOLUMN<列名>;ALTERTABLE<表名>DROPCONSTRAINT<完整约束名>;ALTERTABLE<表名>RENAMETO<新表名>;ALTERTABLE<表名>RENAME<原列名>TO<新列名>;四)ALTER修改方式,用于修改列地数据类型ALTERTABLE<表名>ALTERCOLUMN<列名>TYPE<新地数据类型>;三.表修改举例学生表Student原有结构及数据例

温馨提示

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

评论

0/150

提交评论