资源描述:
《第7章 SQL 语言基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章SQL语言基础7.1基本概念7.2SQL的数据类型7.3基本表的定义、删除及修改7.4数据查询功能7.5数据更改功能7.6建立与删除索引7.7建立与删除索引7.1基本概念7.1.1SQL语言的发展7.1.2SQL语言功能概述7.1.1SQL语言的发展SQL(StructuredQueryLanguage)语言是1974年提出的,由于它功能丰富,语言简洁倍受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。1986年10月美国国家标准局(ANSI,AmericanN
2、ationalStandardInstitute)颁布了SQL语言的美国标准,该标准也称为SQL86。1987年6月SQL86被国际标准化组织(ISO,InternationalOrganizationforStandardization)采纳为国际标准。1999年又发布了SQL—99,也即SQL3,它是在SQL2的基础上扩展了许多新的特性,如递归、触发器以及对象等。7.1.2SQL语言功能概述SQL功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE
3、四部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。7.2SQL的数据类型数值型字符串型日期时间型货币型数值型整数Bigint:8字节,Int:4字节Smallint:2字节,Tinyint:1字节Bit:1位,存储1或0小数Numeric(p,q)其中:p为数字位长度,q:小数位长度。字符串类型Char(n):定长存储,n<=8000Varchar(n):不定长存储(按实际长度存储),长度最大不超过n,n<=8000Text:存储大于8000字节的文本日期时间型和货币型Datetime:8字节,年月日时分秒毫秒(例:‘2001/08/03
4、10:30:00.000’)Money:8个字节,精确到货币单位的千分之十。7.3基本表的定义、删除及修改7.3.1基本表的定义与删除7.3.2修改表结构7.3.1基本表的定义与删除1.定义基本表(CREATETABLE)格式:CREATETABLE<表名>(<列名><数据类型>[列级完整性约束定义]{,<列名><数据类型>[列级完整性约束定义]…}[,表级完整性约束定义])2应用举例CREATETABLEStudent(Snochar(7),Snamechar(10),Ssexchar(2),Sagetinyint,Sdeptchar(20))在列级
5、完整性约束定义处可以定义的约束NOTNULL:限制列取值非空。DEFAULT:给定列的默认值。UNIQUE:限制列取值不重。CHECK:限制列的取值范围。PRIMARYKEY:指定本列为主码。FOREIGNKEY:定义本列为引用其他表的外码。约束定义①列取值非空约束<列名><类型>NOTNULL例:snamechar(10)NOTNULL约束定义(续)②主码约束A:在定义列时定义主码(仅用于单列主码)例:SNOchar(7)PRIMARYKEYB:在定义完列时定义主码(用于单列或多列主码)例:PRIMARYKEY(SNO)PRIMARYKEY(SNO,
6、CNO)约束定义(续)④默认值约束格式:DEFAULT默认值例:定义系的默认值为“计算机系”。Sdeptchar(20)DEFAULT‘计算机系’约束定义(续)⑤CHECK约束格式:CHECK(约束表达式)例:年龄大于等于0。SagetinyintCHECK(grade>=0)约束定义(续)⑥UNIQUE约束在列级约束定义(仅用于单列约束)列定义UNIQUE例:SNAMEchar(7)UNIQUE在表级约束定义(用于单列或多列组合约束)UNIQUE(<列名序列>)例:UNIQUE(SNO,CNO)创建学生表CREATETABLEStudent(Snoc
7、har(7)PRIMARYKEY,Snamechar(10)NOTNULL,Ssexchar(2)CHECK(Ssex='男'ORSsex='女'),SagetinyintCHECK(Sage>=15ANDSage<=75),Sdeptchar(20)DEFAULT'计算机系')创建课程表CREATETABLECourse(Cnochar(10)NOTNULL,Cnamechar(20)NOTNULL,CcredittinyintCHECK(Ccredit>0),SemestertinyintCHECK(Semester>0),PeriodintCHE
8、CK(Period>0),PRIMARYKEY(Cno))创建SC表CREATETABLESC