资源描述:
《SQL语句基础之DDL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章SQL语句基础之DDL授课人:吴志霞电话:15305553060QQ:1035837738http://blog.sina.com.cn/helenmist课程内容涉及数据库结构的SQL语句表的创建表的修改课程目标掌握SQL语句基础之DDL课时安排理论:3学时上机:2学时授课重点数据库的创建表的创建表的修改授课方法演示法SQL语言什么是SQL?SQL(StructuredQueryLanguage)是结构化查询语言。学生-课程数据库学生-课程模式:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:
2、Course(Cno,Cname,Ccredit)学生选课表:SC(Sno,Cno,Grade)Student表(学生表)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121200215122200215123200515125李勇刘晨王敏张立男女女男20191819CSCSMAISCourse表(课程表)课程号Cno课程名Cname学分Ccredit1234567数据库数学信息系统操作系统数据结构数据处理PASCAL语言4243424SC表(学生选课表)学号Sno课程号Cno成绩Grade20021512
3、1200215121200215121200215122200215122123239285889080涉及数据库结构的SQL语句数据库的创建语法:CREATEDATABASE<数据库名>切换数据库语法:USE<数据库名>数据库的删除语法:DROPDATABASE<数据库名>修改数据库的编码语法:ALTERDATABASE<数据库名>charactersetutf8表的创建CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);如
4、果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。示例1建立“学生”表Student,学号是主码,姓名取值唯一,性别只能为‘男’或‘女’,年齡默认值为18。-----约束条件定义在列级CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(‘男’,’女’)),SageSMALLINTDefault18,SdeptVARCHAR(20)NOTNULL)注:char,varch
5、ar,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表PRIMARY
6、KEY约束一个表只能有一个PRIMARYKEY约束PRIMARYKEY约束中的列都不能接受空值。如果PRIMARYKEY约束定义在不止一列上,则一列中的值可以重复,但PRIMARYKEY约束定义中的所有列的组合的值必须唯一。UNIQUE约束UNIQUE约束中的列接受null值。保持列的唯一性示例:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameVARCHAR(20)UNIQUE,SsexCHAR(2)Check(Ssexin(‘男’,’女’)),SageSMALLINTDefault18,Sde
7、ptVARCHAR(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,S
8、sexCHAR(2)Check(Ssexin(‘男’,’女’)),SageSMALLINTDefault20,SdeptVARCHAR(20)NOTNULL)FOREIGNKEY约束FOREIGNKEY约束