数据库sql基础知识大全学习教案.pptx
《数据库sql基础知识大全学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库sql基础知识大全学习教案.pptx(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1数据库数据库sql基础知识大全基础知识大全(dqun)第一页,共74页。第三章第三章 关系数据库语关系数据库语言言(yyn)SQLn n 概述n n SQL的数据定义n n SQL的数据操纵n n SQL的视图(sht)定义n n SQL的数据控制n n 嵌入式SQL第三章关系数据库语言(yyn)SQL第1页/共74页第二页,共74页。概述概述(i sh)n nSQLSQL(Structured Query LanguageStructured Query Language)是)是19741974年由年由BoydeBoyde和和ChamberlinChamberlin提出的提出的n n
2、19741974年年 IBM IBM的的System RSystem Rn n19791979年年 Oracle Oraclen n19821982年年 IBM IBM的的DB2DB2n n19841984年年 Sybase Sybasen n19861986年年1010月月ANSIANSI公布公布(gngb)SQL-86(gngb)SQL-86标准标准n n19891989年年ISOISO公布公布(gngb)SQL-89(gngb)SQL-89标准(标准(120120页)页)n n19921992年公布年公布(gngb)SQL-92(gngb)SQL-92标准(标准(622622页)页)n
3、n19991999年公布年公布(gngb)SQL-99(gngb)SQL-99标准(标准(17001700页)页)n n20032003年公布年公布(gngb)SQL-2003(gngb)SQL-2003标准(标准(36003600页)页)第三章关系数据库语言SQL3.1 概述第2页/共74页第三页,共74页。SQL语言语言(yyn)的特的特点点n n综合统一综合统一n n集集DDLDDL、DMLDML、DCLDCL为一体为一体n n实体和联系都是关系,因此每种操作只需一种操作符实体和联系都是关系,因此每种操作只需一种操作符n n高度非过程化高度非过程化n n面向集合的操作方式面向集合的操作方
4、式n n以同一种语法结构提供两种使用方式(交互式和嵌入式)以同一种语法结构提供两种使用方式(交互式和嵌入式)n n语言简捷,易学易用语言简捷,易学易用n n数据定义数据定义 CREATE CREATE、DROPDROP、ALTERALTERn n数据查询数据查询(chxn)SELECT(chxn)SELECTn n数据更新数据更新 INSERT INSERT、UPDATEUPDATE、DELETEDELETEn n数据控制数据控制 GRANT GRANT、REVOKEREVOKE第三章关系数据库语言SQL3.1 概述第3页/共74页第四页,共74页。SQL语言语言(yyn)的特点的特点n n支
5、持(zhch)三级模式结构n n 视图 外模式n n 基本表(的集合)模式n n 存储文件和索引 内模式第三章关系数据库语言SQL3.1 概述第4页/共74页第五页,共74页。SQL数据库体系结构数据库体系结构用户2用户3用户4视图V1视图V2基本表B1基本表B2基本表B3基本表B4存储文件S1存储文件S2存储文件S3存储文件S4用户1SQLSQL用户用户视图视图基本表基本表存储文件存储文件第三章关系数据库语言SQL3.1 概述第5页/共74页第六页,共74页。SQL的组成的组成(z chn)数据定义语言数据定义语言(The Data Definition Language,DDL)(The
6、Data Definition Language,DDL)数据操作语言数据操作语言(The Data Manipulation Language,DML)(The Data Manipulation Language,DML)嵌入式和动态嵌入式和动态SQLSQL事务管理事务管理安全性管理安全性管理触发器和高级完整性约束触发器和高级完整性约束客户服务器执行和远程客户服务器执行和远程(yunchng)(yunchng)数据库存取数据库存取高级特性高级特性第三章关系数据库语言SQL3.1 概述第6页/共74页第七页,共74页。SQL的数据的数据(shj)定义定义n n定义和修改基本定义和修改基本(j
7、bn)(jbn)表(定义模式中的关系):表(定义模式中的关系):n n CREATE TABLE CREATE TABLEn n DROP TABLE DROP TABLEn n ALTER TABLE ALTER TABLEn n定义视图(定义外模式):定义视图(定义外模式):n n CREATE VIEW CREATE VIEWn n DROP VIEW DROP VIEWn n定义索引(定义内模式):定义索引(定义内模式):n n CREATE INDEX CREATE INDEXn n DROP INDEX DROP INDEX第三章关系数据库语言SQL3.2 SQL的数据定义第7页/
8、共74页第八页,共74页。基本基本(jbn)表的定义表的定义n n基本格式基本格式n n CREATE TABLE CREATE TABLE n n (n n ,n n ,););n n :所要定义的基本表的名字:所要定义的基本表的名字n n :组成该表的各个:组成该表的各个(gg)(gg)属性(列)属性(列)n n :涉及相应属性列:涉及相应属性列的完整性约束条件的完整性约束条件n n :涉及一个或多个:涉及一个或多个属性列的完整性约束条件属性列的完整性约束条件 第三章关系数据库语言SQL3.2 SQL的数据定义第8页/共74页第九页,共74页。例1 建立一个“学生”表Student,它由学
9、号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成(z chn)。其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATE TABLE Student (Sno CHAR(5)NOT NULL UNIQUE,Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT,Sdept CHAR(15);基本基本(jbn)表的定义表的定义第三章关系数据库语言SQL3.2 SQL的数据定义第9页/共74页第十页,共74页。基本基本(jbn)表的定义表的定义n n说明(shumng):n nSQL支持空值的概念。允许空值的列未输入数据时系统自
10、动置为空值。n n SQL支持的数据类型随系统不同而有所差异,但一般都有:n n全字长整型、半字长整型、定点实型、浮点实型、CHAR(n)、VARCHAR(n)、TEXT、DATE第三章关系数据库语言SQL3.2 SQL的数据定义第10页/共74页第十一页,共74页。基本基本(jbn)表的定义表的定义n n常用完整性约束常用完整性约束(yush)(yush)n n主码约束主码约束(yush)(yush):PRIMARY KEY PRIMARY KEYn n唯一性约束唯一性约束(yush)(yush):UNIQUEUNIQUEn n非空值约束非空值约束(yush)(yush):NOT NULLN
11、OT NULLn n参照完整性约束参照完整性约束(yush)FOREIGN KEY(yush)FOREIGN KEYn ncheckcheck约束约束(yush)(yush)n n思考:思考:PRIMARY KEYPRIMARY KEY与与 UNIQUE UNIQUE的区别?的区别?n nPrimary keyPrimary key在建立的时候会默认地建立此在建立的时候会默认地建立此fieldfield的索引,且此的索引,且此primary keyprimary key可以作为作为另可以作为作为另外的表的外的表的foreign keyforeign key;n n再者再者primary key
12、primary key跟跟uniqueunique的区别是的区别是Primary key Primary key 一定是一定是not nullnot null,而,而uniqueunique则没有此限制则没有此限制第三章关系数据库语言SQL3.2 SQL的数据定义第11页/共74页第十二页,共74页。SQL Server 2005中的数据类型中的数据类型精确精确(jngqu)(jngqu)数字数字bigintdecimalintnumericsmallintmoneytinyintsmallmoneybit近似近似(jn(jn s)s)数字数字floatreal日期日期(rq)(rq)和时间和
13、时间datetimesmalldatetime字符串字符串chartextvarcharUnicode字符串字符串ncharntextnvarchar二进制字符串二进制字符串binaryimagevarbinary其他数据类型其他数据类型cursortimestampsql_variantuniqueidentifiertablexml第12页/共74页第十三页,共74页。n n例2 建立(jinl)一个“课程”表C,它由课程号Cno,课程名称Cname,教师Teacher组成,其中Cno为主码。n nCREATE TABLE C(n n Cno CHAR(5),n n Cname CHAR(
14、10),n n Teacher CHAR(10),n n Primary key(Cno);n n或像书上写的将Primary key 直接定义在属性列后。第13页/共74页第十四页,共74页。基本基本(jbn)表的定义表的定义n n 例例3 3 建立一个建立一个“学生选课学生选课”表表SCSC,它由学号,它由学号SnoSno、课程号、课程号CnoCno,修课成绩,修课成绩GradeGrade组成组成(z(z chn chn),其中,其中(Sno,Cno)(Sno,Cno)为主码。为主码。n nCREATE TABLE SC(CREATE TABLE SC(n n Sno CHAR(5),Sn
15、o CHAR(5),n n Cno CHAR(3),Cno CHAR(3),n n Grade int,Grade int,n n Primary key(Sno,Cno),Primary key(Sno,Cno),n n FOREIGN KEY(Sno)REFERENCES S(Sno),FOREIGN KEY(Sno)REFERENCES S(Sno),n n FOREIGN KEY(Cno)REFERENCES C(Cno)FOREIGN KEY(Cno)REFERENCES C(Cno)n n););第三章关系数据库语言SQL3.2 SQL的数据定义第14页/共74页第十五页,共74页
16、。基本基本(jbn)数据类型数据类型n n(1)(1)数值型(数值型(DB2)DB2)n nSMALLINT SMALLINT 半字长二进制整数半字长二进制整数n nINTEGER INTEGER 全字长二进制整数全字长二进制整数n nDECIMAL(P,qDECIMAL(P,q)或者)或者(huzh)DEC(huzh)DEC(p,q)p,q)n n压缩十进制数,共压缩十进制数,共p p位,其中小数点后位,其中小数点后q q位位n nFLOAT FLOAT 双字长浮点数双字长浮点数n n(2)2)字符串型字符串型n nCHARTER(n)CHARTER(n)或或CHAR(n)CHAR(n)n
17、nVARCHAR(n)VARCHAR(n)n n(3)(3)时间型时间型n nDATEDATEn nTIMETIMEn n(4)(4)位串型位串型n nBITBIT(n n)第15页/共74页第十六页,共74页。基本基本(jbn)表的删除表的删除n n基本格式(g shi)n n DROP TABLE 表名;n n示例 n nDROP TABLE S;第三章关系数据库语言SQL3.2 SQL的数据定义第16页/共74页第十七页,共74页。基本基本(jbn)表的修改表的修改n n基本(jbn)格式n n ALTER TABLE n n ADD 完整性约束 n n DROP n n ALTER C
18、OLUMN ;n n:要修改的基本(jbn)表n nADD子句:增加新列和新的完整性约束条件n nDROP子句:删除指定的完整性约束条件n nALTER COLUMN子句:用于修改列名和数据类型第三章关系数据库语言SQL3.2 SQL的数据定义第17页/共74页第十八页,共74页。基本基本(jbn)表的修改表的修改n n增加列基本增加列基本(jbn)(jbn)格式格式n nALTER TABLE ALTER TABLE 表名表名 ADD ADD 列名列名 类型;类型;n n示例示例 ALTER TABLE S ADD ADDRESS VARCHAR(30)ALTER TABLE S ADD A
19、DDRESS VARCHAR(30)n n修改列基本修改列基本(jbn)(jbn)格式格式n n ALTER TABLE ALTER TABLE 表名表名 ALTER COLUMN ALTER COLUMN 列名列名 类型;类型;n nALTER TABLE S ALTER COLUMN SA SMALLINTALTER TABLE S ALTER COLUMN SA SMALLINT;n n删除列基本删除列基本(jbn)(jbn)格式格式n n ALTER TABLE ALTER TABLE 表名表名 DROP DROP 列名;列名;n nALTER TABLE S DROP UNIQUE(
20、Sn)ALTER TABLE S DROP UNIQUE(Sn);第三章关系数据库语言SQL3.2 SQL的数据定义第18页/共74页第十九页,共74页。例子例子(l zi)修改表修改表ALTER TABLE studentALTER TABLE studentADD sno CHAR(5)NULL -ADD sno CHAR(5)NULL -向向studentstudent表中添加一列表中添加一列(y(y li)snoli)snoALTER TABLE student -ALTER TABLE student -修改修改snosno的定义保障此列不为空的定义保障此列不为空MODIFY sno
21、 CHAR(5)NOT NULL MODIFY sno CHAR(5)NOT NULL ALTER TABLE student -ALTER TABLE student -向向studentstudent表添加主键约束表添加主键约束ADD PRIMARY KEY(sno)ADD PRIMARY KEY(sno)ALTER TABLE student -ALTER TABLE student -从从studentstudent表删除列表删除列sexsexDROP COLUMN sexDROP COLUMN sex第19页/共74页第二十页,共74页。例子例子(l zi)修改表修改表-向向stud
22、ystudy表中添加表中添加(tin ji)(tin ji)外键约束外键约束ALTER TABLE studyALTER TABLE studyADD CONSTRAINT fkcno FOREIGN KEY(cno)REFERENCES course(cno)ADD CONSTRAINT fkcno FOREIGN KEY(cno)REFERENCES course(cno)ON DELETE CASCADE ON UPDATE CASCADEON DELETE CASCADE ON UPDATE CASCADE-向向studystudy表中添加表中添加(tin ji)(tin ji)外键约
23、束外键约束 ALTER TABLE studyALTER TABLE study ADD CONSTRAINT fksno FOREIGN KEY(sno)REFERENCES student(sno)ADD CONSTRAINT fksno FOREIGN KEY(sno)REFERENCES student(sno)ON DELETE CASCADE ON UPDATE CASCADEON DELETE CASCADE ON UPDATE CASCADE第20页/共74页第二十一页,共74页。视图的定义视图的定义(dngy)和修改和修改n n基本操作基本操作n n CREATE VIEW
24、CREATE VIEWn n DROP VIEW DROP VIEWn n后面详细后面详细(xingx)(xingx)讨论讨论第三章关系数据库语言SQL3.2 SQL的数据定义第21页/共74页第二十二页,共74页。索引的建立索引的建立(jinl)和删除和删除n n建立索引是加快建立索引是加快(ji kui)(ji kui)查询速度的有效手段查询速度的有效手段n n建立索引建立索引n nDBADBA或表的属主(即建立表的人)根据需要建立或表的属主(即建立表的人)根据需要建立n n有些有些DBMSDBMS自动建立以下列上的索引自动建立以下列上的索引n n PRIMARY KEY PRIMARY
25、KEYn n UNIQUE UNIQUEn n维护索引维护索引n n DBMS DBMS自动完成自动完成 n n使用索引使用索引n n DBMS DBMS自动选择是否使用索引以及使用哪些索引自动选择是否使用索引以及使用哪些索引第三章关系数据库语言SQL3.2 SQL的数据定义第22页/共74页第二十三页,共74页。索引索引(suyn)的建立和删除的建立和删除n n索引的结构索引的结构n nRDBMSRDBMS中,索引一般采用中,索引一般采用B+B+树或树或HASHHASH索引实现,具体由索引实现,具体由RDBMSRDBMS决决定。定。n nB+B+树具有动态平衡的优点树具有动态平衡的优点n n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 sql 基础知识 大全 学习 教案
限制150内