已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章SQL语句基础之DDL,授课人:吴志霞电话Q:1035837738,课程内容,涉及数据库结构的SQL语句表的创建表的修改,课程目标,掌握SQL语句基础之DDL,课时安排,理论:3学时上机:2学时,授课重点,数据库的创建表的创建表的修改,授课方法,演示法,SQL语言,什么是SQL?SQL(StructuredQueryLanguage)是结构化查询语言。,学生-课程数据库,学生-课程模式:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Ccredit)学生选课表:SC(Sno,Cno,Grade),Student表(学生表),Course表(课程表),SC表(学生选课表),涉及数据库结构的SQL语句,数据库的创建语法:CREATEDATABASE切换数据库语法:USE数据库的删除语法:DROPDATABASE修改数据库的编码语法:ALTERDATABASEcharactersetutf8,表的创建,CREATETABLE(,);如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。,示例1,建立“学生”表Student,学号是主码,姓名取值唯一,性别只能为男或女,年齡默认值为18。-约束条件定义在列级CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(男,女),SageSMALLINTDefault18,SdeptVARCHAR(20)NOTNULL)注:char,varchar,nvarchar的区别char不够长度自动补空格,示例1(续),-约束条件定义在表级CREATETABLEStudent(SnoCHAR(9),/*列级完整性约束条件*/SnameVARCHAR(20),/*Sname取唯一值*/SsexCHAR(2),SageSMALLINTdefault18,SdeptVARCHAR(20)NOTNULL,constraintpk_snoPrimarykey(Sno),unique(sname),Check(Ssexin(男,女),示例2,创建Course表创建SC表,PRIMARYKEY约束,一个表只能有一个PRIMARYKEY约束PRIMARYKEY约束中的列都不能接受空值。如果PRIMARYKEY约束定义在不止一列上,则一列中的值可以重复,但PRIMARYKEY约束定义中的所有列的组合的值必须唯一。,UNIQUE约束,UNIQUE约束中的列接受null值。保持列的唯一性示例:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(男,女),SageSMALLINTDefault18,SdeptVARCHAR(20)NOTNULL),DEFAULT定义,默认值示例:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(男,女),SageSMALLINTDefault18,SdeptVARCHAR(20)NOTNULL),CHECK约束,限制输入到列中的值来强制域的完整性。示例:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(男,女),SageSMALLINTDefault20,SdeptVARCHAR(20)NOTNULL),FOREIGNKEY约束,FOREIGNKEY约束可引用同一数据库中的表或同一表(自引用表)内的列.示例-创建学生选课表createtableSC(snochar(9)notnull,cnochar(4)notnull,ccreditintnotnull,foreignkey(sno)referencesStudent(sno),foreignkey(cno)referencesCourse(cno),primarykey(sno,cno)FOREIGNKEY与CHECK区别:FOREIGNKEY约束从另一个表中获得有效数值列表。CHECK约束从逻辑表达式判断而非基于其它列的数据。,课堂练习,建立“部门”表Dept,部门编号是主码,部门名称取值唯一建立“员工”表Employee,工号是主码,姓名取值唯一,性别只能为男或女,年齡不可为空,部门必须存在于”部门“表Dept中,工资必须大于等于1300小于等于2000。,参考,createtableDept(deptnochar(4)PRIMARYKEY,deptNamechar(20)notnull)CREATETABLEEmployee(empnoCHAR(9)PRIMARYKEY,nameCHAR(20)UNIQUE,sexCHAR(2)Check(Ssexin(男,女),ageSMALLINTDefault20,deptCHAR(4)Foreignkeyreferencesdept(deptno),salaryint(4)Check(salary=1300andsalary=2000),表的修改,ALTERTABLEADD完整性约束ADDDROPCOLUMNCHANGECOLUMN;添加新列添加某个约束条件实现删除某列相同则修改某列的数据类型/修改某列的列名,示例,例1向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDS_entranceDatetime不论基本表中原来是否已有数据,新增加的列一律为空值。例2增加课程名称必须取唯一值的约束条件。ALTERTABLECourseADDUNIQUE(Cname)例3删除Student表的“入学时间”列。ALTERTABLEStudentDROPCOLUMNS_entrance例4修改Student表的“名字”列,其数据类型为数值型。ALTERTABLEStudentChangeCOLUMNsnamesnameint改回ALTERTABLEStudentChangeCOLUMNsnamesnamevarchar(255),表的删除,语法:DROPTABLEtable_name注意:1.DROPTABLE不能用于除去由FOREIGNKEY约束引用的表。必须先除去引用的FOREIGNKEY约束或引用的表。2.如果删除表内的所有行运用(DELETEtablename)或(TRUNCATETABLEtable_name)语句。,小结,涉及数据库结构的SQL语句表的创建表的修改,实训一SQL语句基础之DDL,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石油化工企业焊工检修维修安全操作规程
- 高级卫生专业技术资格考试(正高级)试卷及解答参考(2025年)
- 2025红领巾争章知识题库(含答案)
- 化粪池开挖专项施工方案
- 食品加工企业安全管理员运行操作安全操作规程
- 暑假漏洞修补初中物理磁学特殊应用知识盲区专项复习教案
- 踏新途!二年级新学期分享课
- 2026年初中道德与法治模拟冲刺试卷
- 《工艺品修复技术》课件-1.6工艺品修复的预防与技艺
- 2026年玻璃油墨行业管理系统创新报告
- 物业合同履约汇报
- 胸腔穿刺术教学课件
- T/CWAN 0043-2021搅拌摩擦焊搅拌头设计及制造标准
- 洲际酒店总经理酒店筹备作业手册
- 教师管理能力试题及答案
- DB34-T 3967-2021 普通国省干线公路服务设施建设及运营技术指南
- 《皮肤性病学3》课程标准
- 10kV架空线路专项施工方案
- FZT 73020-2019 针织休闲服装
- 一年级看图写话专项练习及范文20篇(可下载打印)
- (高清版)DZT 0368-2021 岩矿石标本物性测量技术规程
评论
0/150
提交评论