资源描述:
《关系数据库标准语言SQL(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库标准语言SQL1第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图2第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图33.1SQL概述SQL(StructuredQueryLanguage)结构化查询语言,是关系数据库的标准语言。1974年由Boyce和Chamberlin提出,并在IBM公司研制的关系数据库管理系统原型SystemR上实现。由于SQL简单易学,功能丰富,深受用户及计算机工业界欢迎,因此
2、被数据库厂商所采用。经各公司的不断修改、扩充和完善,SQL得到业界的认可。1986年10月美国国家标准局(ANSI)的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准。43.1SQL概述SQL标准从1986年公布以来随着数据库技术的发展而不断发展和丰富。标准大致页数发布日期SQL/861986年10月SQL/89120页1989年SQL/92622页1992年SQL/991700页1999年SQL20033600页2003年53.1SQL概述作为关系数据库的标准语言,SQL已被众多商用数据库管理系统产品所采用,而不同的数据库管理系统在其实践过程中
3、都对SQL规范做了某些改变和扩充。实际上,不同数据库管理系统之间的SQL语言不能完全通用。微软公司的MSSQLServer支持的是T-SQL,而甲骨文公司的Oracle数据库所使用的SQL语言则是PL-SQL。6第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图73.2学生-课程数据库在本章中用学生-课程数据库作为一个例子来讲解SQL的数据定义、数据操作、数据查询和数据控制语句的具体应用。学生-课程数据库中包括以下3个表学生表:Student(Sno,Sname,Ssex,Sage,Sde
4、pt)课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)83.2学生-课程数据库Student表学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215124张立男19IS93.2学生-课程数据库Course表课程号Cno课程名Cname先行课Cpno学分Cdredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64103.2学生-课
5、程数据库SC表学号Sno课程号Cno成绩Grade20021512119220021512128520021512138820021512229020021512238011第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图123.3数据定义SQL的数据定义功能包括数据库定义、表定义、视图和索引定义。SQL的数据定义语句操作对象操作方式创建删除修改数据库CREATEDATABASEDROPDATABASE表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEW
6、DROPVIEW索引CREATEINDEXDROPINDEX133.3数据定义数据库的定义与删除基本表的定义、删除与修改索引的建立与删除143.3.1数据库的定义与删除定义数据库CREATEDATABASE<数据库名>确保用户具有创建数据库的权限[例1]定义学生-课程数据库S_TCREATEDATABASES_T;153.3.1数据库的定义与删除定义数据库CREATEDATABASES_TONPRIMARY(NAME='S_T_data1',FILENAME='D:dataS_T_data1.mdf',SIZE=20MB,MAXSIZE=UNLIMITE
7、D,FILEGROWTH=10%)LOGON(NAME='S_T_log1',FILENAME='D:dataS_T_log1.ldf',SIZE=50MB,MAXSIZE=100MB,FILEGROWTH=10MB);163.3.1数据库的定义与删除删除数据库DROPDATABASE<数据库名>[例2]删除学生-课程数据库S_TDROPDATABASES_T;173.3.2基本表的定义、删除与修改定义基本表CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性
8、约束条件>]);<表名>:所要定义的基本表的名字<列