欢迎来到天天文库
浏览记录
ID:43514551
大小:278.00 KB
页数:41页
时间:2019-10-09
《第3章(1&2)SQL前两节》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、计算机系关系数据库标准语言SQL3.1SQL概述SQL,结构化查询语言,关系数据库标准语言,具有通用,功能强大等特点。SQL已经作为大多数数据库的共同的数据存取语言和标准接口,使各种商业数据库系统之间的相互操作有共同基础,已成为数据库领域的主流语言SQL的产生与发展(1)SQL/86IBM公司提出(2)SQL/89(3)SQL/92(4)SQL/99(5)SQL/20033.1SQL概述SQL的特点(1)综合统一。综合数据定义语言、数据操纵语言、数据控制语言等语言风格统一可以独立完成数据库生命周期中的全部活动(2)高
2、度非过程化只要提出“做什么”,不必提出“怎么做”存取路径的选择和SQL操作过程由系统自动完成(3)面向集合的操作方式(操作对象,查询结果均为集合)(4)以同一种语法结构提供多种使用方法。(独立语言,嵌入式语言)(5)语言简洁,易学易用SQL的动词SQL功能动词数据查询Select数据定义Create,drop,alter(变更)数据操作Insert,delete,update数据控制Grant(准许),revoke(取消)3.2数据定义四种操作对象:模式、表、视图、索引模式、视图、索引不能直接修改。可以先删除旧的,再
3、添加新的3.2.0模式的定义与删除数据库用户模式表
4、视图
5、授权CREATESCHEMA<模式名>AUTHORIZATION<用户名>[<表定义字句>
6、<视图定义字句>
7、<授权定义字句>]说明:如果没有<模式名>,则<模式名>隐含为<用户名>[例]为用户wang定义一个学生-课程模式s-tCreateschema“s-t”authorizationwang;而Createschemaauthorizationwang;隐含的模式名为wang3.2.0模式的定义与删除(续)Createschema“s-t”auth
8、orizationwang;含有表定义的shemaCreateschema“s-t”authorizationwangcreatetablestudents(….);3.2.0模式的定义与删除(续)DROPSCHEMA<模式名>[RESTRICT︱CASCADE][例]删除模式zhang:Dropschemazhangcascade;RESTRICT:如果该模式中已经定义了下属的数据库对象(如表,视图等),则拒绝该删除语句的执行。只有当该模式中没有任何下属的对象时才执行该语句。CASCADE:删除模式的同时把该模式中
9、的所有的数据库对象全部一起删除。3.2.1定义基本表CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);<表名>:所要定义的基本表的名字<列名>:组成该表的各个属性(列)<列级完整性约束条件>:涉及相应属性列的完整性约束条件<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件[例1]建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性
10、组成。CREATETABLEStudent(SnoCHAR(9),SnameVarchar(20),SsexCHAR(2),SageSMALLINT,SdeptVarchar(50));3.2.1定义基本表[例2]建立一个“课程”表Course,它由课程号Cno、课程名Cname、先行课号Cpno、学分Ccredit四个属性组成。CREATETABLECourse(CnoCHAR(4),CnameVarchar(40),CpnoCHAR(4),CcreditSMALLINT);3.2.1定义基本表[例3]建立一个“学
11、生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade三个属性组成。CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,);3.2.1定义基本表[例3]建立一个如下数据库,包括三个基本表:T1.教师(教师编号,姓名,性别,所在系)T3.课堂(教师编号,课程号,上课时间,人数)T2.课程(课程号,课程名,性质,学分,开课系)3.2.1定义基本表createtableteacher(tnochar(5),tnamevarchar(10),tsexchar(2),t
12、depvarchar(50))3.2.1定义基本表createtablecourse(cnochar(4),cnamevarchar(30),ctypechar(6),ccreditsmallint,cdepvarchar(50));createtableclass(cnochar(4),tnochar(5),cltimechar(2),cls
此文档下载收益归作者所有