第03章SQL语言基础PPT讲稿.ppt
《第03章SQL语言基础PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第03章SQL语言基础PPT讲稿.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第03章SQL语言基础2022/9/161第1页,共70页,编辑于2022年,星期日19991999年年SQL-99SQL-99标准(简称标准(简称SQL3SQL3)。增加了对对象关系模型)。增加了对对象关系模型的支持。目前仅部分实现。的支持。目前仅部分实现。最流行的国际标准数据库语言。最流行的国际标准数据库语言。主要特点:主要特点:SQLSQL是非结构化的语言,使用是非结构化的语言,使用SQL SQL 查询数据库时,只需查询数据库时,只需要告诉它做什么而不用告诉它如何去做。要告诉它做什么而不用告诉它如何去做。SQL SQL 本身不提供任何程序流程控制结构,而是通过本身不提供任何程序流程控制结
2、构,而是通过PL/SQLPL/SQL提供提供SQLSQL语言的过程化功能语言的过程化功能SQLSQL提供相对固定的数据类型,一般不需要扩展提供相对固定的数据类型,一般不需要扩展SQLSQL本身十分灵活,方便易学。本身十分灵活,方便易学。2022/9/162第2页,共70页,编辑于2022年,星期日标准标准SQLSQL只包含只包含9 9种语句:种语句:w数据查询:数据查询:selectselectw数据定义数据定义:create,drop,alter:create,drop,alterw数据操纵数据操纵:insert,update,delete:insert,update,deletew数据控制
3、数据控制:grant,revoke:grant,revoke2022/9/163第3页,共70页,编辑于2022年,星期日数据定义语言(数据定义语言(DDLDDL),用于定义数据结构),用于定义数据结构数据操纵语言(数据操纵语言(DMLDML),用于检索和修改数),用于检索和修改数据结构据结构数据控制语言(数据控制语言(DCLDCL),用于规定数据库用),用于规定数据库用户的各种权限户的各种权限数据库事务处理,用来保证数据库的完整性数据库事务处理,用来保证数据库的完整性SQLSQL语言分类语言分类2022/9/164第4页,共70页,编辑于2022年,星期日SQLSQL语言分类语言分类数据定义
4、语言(数据定义语言(DDLDDL):用于定义数据结):用于定义数据结构构能使用户完成下列任务能使用户完成下列任务n创建数据库对象创建数据库对象n删除数据库对象删除数据库对象n更改数据库对象更改数据库对象2022/9/165第5页,共70页,编辑于2022年,星期日常用的数据定义语言常用的数据定义语言DDLDDL语句包括:语句包括:Create Table:Create Table:创建数据库表创建数据库表Create Index:Create Index:创建数据库表的索引创建数据库表的索引Drop Table:Drop Table:删除数据库表删除数据库表Drop Index:Drop In
5、dex:删除数据库表的索引删除数据库表的索引TruncateTruncate:删除表中所有行:删除表中所有行Alter TableAlter Table:增加表列,重定义表列,更改存储分:增加表列,重定义表列,更改存储分配配Alter Table ADD CONSTRAINT:Alter Table ADD CONSTRAINT:在已有的表上增加在已有的表上增加约束约束2022/9/166第6页,共70页,编辑于2022年,星期日数据操纵语言数据操纵语言(DML)(DML):允许用户对数据库:允许用户对数据库中的数据进行中的数据进行Insert,Update,DeleteInsert,Upda
6、te,Delete和和SelectSelect等操作等操作常用常用DMLDML语句包括:语句包括:Insert Insert:增加数据行到表:增加数据行到表DeleteDelete:从表中删除数据行:从表中删除数据行UpdateUpdate:更改表中数据:更改表中数据SelectSelect:从表中或视图中检索数据行:从表中或视图中检索数据行2022/9/167第7页,共70页,编辑于2022年,星期日数据控制语言(数据控制语言(DCLDCL):用于规定数据库):用于规定数据库用户的各种权限用户的各种权限常用的数据控制语句包括:常用的数据控制语句包括:GRANTGRANT:将权限或角色授予用户
7、或其它角:将权限或角色授予用户或其它角色色REVOKEREVOKE:从用户或数据库角色回收权限:从用户或数据库角色回收权限Set RoleSet Role:禁止或允许一个角色:禁止或允许一个角色2022/9/168第8页,共70页,编辑于2022年,星期日数据库事务控制数据库事务控制:用来保证数据库的完整用来保证数据库的完整性性常用的事务处理语句包括:常用的事务处理语句包括:COMMIT WORKCOMMIT WORK:把当前事务所作的更改永:把当前事务所作的更改永久化(写入磁盘)久化(写入磁盘)ROLLBACK:ROLLBACK:作废上次提交以来的所有更改作废上次提交以来的所有更改2022/
8、9/169第9页,共70页,编辑于2022年,星期日事务:指作为单个逻辑工作单元执行的事务:指作为单个逻辑工作单元执行的一系列操作,而这些逻辑工作单元需要一系列操作,而这些逻辑工作单元需要具有原子性,一致性,隔离性和持久性具有原子性,一致性,隔离性和持久性四个属性。四个属性。2022/9/1610第10页,共70页,编辑于2022年,星期日SQLSQL语句的基本语法语句的基本语法基本语法如下:基本语法如下:每条每条SQLSQL语句必须以分号结束语句必须以分号结束每条每条SQLSQL语句可以单独写成一行,也可以语句可以单独写成一行,也可以分成若干行分成若干行SQLSQL语句对大小写不敏感,对于语
9、句对大小写不敏感,对于SQLSQL语句语句的关键字(如的关键字(如InsertInsert等),表名,列名等),表名,列名等,可以大小写混合;但对列的内容则等,可以大小写混合;但对列的内容则是大小写敏感的。是大小写敏感的。2022/9/1611第11页,共70页,编辑于2022年,星期日对象命名约定对象命名约定SQL ServerSQL Server用三段式名字标识对象:用三段式名字标识对象:.前两者可以省略,系统自动有一个默认值。数据库名前两者可以省略,系统自动有一个默认值。数据库名的默认值是当前数据库,所有者名的默认值是数据的默认值是当前数据库,所有者名的默认值是数据库的所有者(库的所有者
10、(dbodbo)例如:在例如:在pubspubs数据库中的数据库中的authorsauthors表的所有者是表的所有者是dbodbo,它可以在多个数据库中按如下方法引用:,它可以在多个数据库中按如下方法引用:pubs.dbo.authorspubs.dbo.authorsPubs.authorsPubs.authors2022/9/1612第12页,共70页,编辑于2022年,星期日别名:使用别名的主要目的是增加别名:使用别名的主要目的是增加selectselect语句的可读性。可使用如下语句语句的可读性。可使用如下语句指派数据表的别名:指派数据表的别名:数据表名称数据表名称 as as 数据
11、表别名数据表别名2022/9/1613第13页,共70页,编辑于2022年,星期日例如:例如:use sampleuse sampleSelect e.Select e.员工编号员工编号,e.,e.员工姓名员工姓名From From 员工数据表员工数据表 as eas e注意:如果为数据表指定了别名,则在相应的注意:如果为数据表指定了别名,则在相应的T-SQLT-SQL语句中,对该数据表的所有显式引用都必须使用别语句中,对该数据表的所有显式引用都必须使用别名,而不能使用数据表名。例如:名,而不能使用数据表名。例如:Select Select 员工数据表员工数据表.员工编号员工编号,e.,e.员
12、工姓名员工姓名From From 员工数据表员工数据表 as eas e2022/9/1614第14页,共70页,编辑于2022年,星期日SELECT SELECT 语句语句数据检索是数据库中最频繁执行的活动数据检索是数据库中最频繁执行的活动在在 SQL SQL 中中,使使用用 SELECT SELECT 语语句句可可以以在在需需要的表单中检索数据要的表单中检索数据在在进进行行检检索索之之前前,必必须须知知道道需需要要的的数数据据存储在哪里存储在哪里SELECT SELECT 语句可以由多个查询子句组成语句可以由多个查询子句组成2022/9/1615第15页,共70页,编辑于2022年,星期日
13、SELECT SELECT 语句语句SELECT SELECT 语句可用于检索:语句可用于检索:n全部的行和列全部的行和列n全部的行和特定的列全部的行和特定的列n限定范围的行限定范围的行n与一组值匹配的行与一组值匹配的行n根据未知值检索的行根据未知值检索的行n隐藏有重复值的行隐藏有重复值的行n根据多个搜索条件检索的行根据多个搜索条件检索的行2022/9/1616第16页,共70页,编辑于2022年,星期日SELECT SELECT 语句语句SelectSelect语句的基本结构如下:语句的基本结构如下:SELECT ALL|DISTINCT select_listSELECT ALL|DIST
14、INCT select_listINTO new_table_nameINTO new_table_nameFROM table_name|view_name FROM table_name|view_name,table_name2|view_name2,table_name2|view_name2 .,table_name16|.,table_name16|view_name16 view_name16 WHERE search_conditionsWHERE search_conditionsGROUP BY group_by_listGROUP BY group_by_listHAVI
15、NG search_conditionsHAVING search_conditionsORDER BY order_list ASC|DESCORDER BY order_list ASC|DESC2022/9/1617第17页,共70页,编辑于2022年,星期日SELECT SELECT 子子 句句SELECT SELECT 子句指定需要通过查询返回的表的列。其语子句指定需要通过查询返回的表的列。其语法如下法如下:SELECT ALL|DISTINCT SELECT ALL|DISTINCT TOP n TOP n各参数说明如下:各参数说明如下:其中,其中,select_listselec
16、t_list表示需要检索的字段的列表,表示需要检索的字段的列表,字段名称之间用逗号分隔。这个列表中既可以包字段名称之间用逗号分隔。这个列表中既可以包含数据源表或视图中的字段名称,还可以包含其含数据源表或视图中的字段名称,还可以包含其它表达式。如用它表达式。如用*,则系统将返回数据表中的所,则系统将返回数据表中的所有字段。有字段。2022/9/1618第18页,共70页,编辑于2022年,星期日 ALL ALL:指明查询结果中可以显示值相同的列:指明查询结果中可以显示值相同的列ALL ALL 是是系统默认的系统默认的 DISTINCTDISTINCT:指明查询结果中如果有值相同的列,:指明查询结
17、果中如果有值相同的列,则只显示其中的一列。对则只显示其中的一列。对DISTINCT DISTINCT 选项来说,选项来说,Null Null 值被认为是相同的值值被认为是相同的值 TOP n PERCENTTOP n PERCENT:指定返回查询结果的前:指定返回查询结果的前n n 行行数据,如果数据,如果PERCENT PERCENT 关键字指定的话,则返回查询关键字指定的话,则返回查询结果的前百分之结果的前百分之n n 行数据。行数据。2022/9/1619第19页,共70页,编辑于2022年,星期日INTO INTO 子句子句INTO INTO 子句用于把查询结果存放到一个新子句用于把查
18、询结果存放到一个新建的表中。建的表中。SELECT.INTO SELECT.INTO 句式不能与句式不能与COMPUTE COMPUTE 子句一起使用。其语法如下子句一起使用。其语法如下INTO new_tableINTO new_table参数参数new_table new_table 指定了新建的表的名称,指定了新建的表的名称,新表的列由新表的列由SELECT SELECT 子句中指定的列构成。子句中指定的列构成。新表中的数据行是由新表中的数据行是由WHERE WHERE 子句指定的。子句指定的。但如果但如果SELECT SELECT 子句中指定了计算列,在子句中指定了计算列,在新表中对应
19、的列则不是计算列,而是一新表中对应的列则不是计算列,而是一个实际存储在表中的列,其中的数据由个实际存储在表中的列,其中的数据由执行执行SELECT.INTO SELECT.INTO 语句时计算得出。语句时计算得出。2022/9/1620第20页,共70页,编辑于2022年,星期日FROM FROM 子句子句FROM FROM 子句指定需要进行数据查询的表只子句指定需要进行数据查询的表只要要SELECT SELECT 子句中有要查询的列就必子句中有要查询的列就必须使用须使用FROM FROM 子句其语法如下子句其语法如下FROM ,.nFROM ,.ntable_sourcetable_sour
20、ce:指明:指明SELECT SELECT 语句要用到语句要用到的表、视图等数据源,该列表中的数据的表、视图等数据源,该列表中的数据表名和视图名之间使用逗号分隔。表名和视图名之间使用逗号分隔。2022/9/1621第21页,共70页,编辑于2022年,星期日T-SQLT-SQL可以支持在可以支持在fromfrom子句中指定除了数子句中指定除了数据表或视图以外的其他对象,例如查询据表或视图以外的其他对象,例如查询结果集构成的派生表。这些派生表实际结果集构成的派生表。这些派生表实际上是上是from from 子句中子句中selectselect语句的查询结果语句的查询结果集,这些结果集构成了外层集
21、,这些结果集构成了外层selectselect语句语句查询时所用的数据表。查询时所用的数据表。2022/9/1622第22页,共70页,编辑于2022年,星期日例如:例如:Select Emp.Select Emp.员工编号,员工编号,emp.emp.员工姓名,员工姓名,sp.sp.部门名称部门名称From From 员工数据表员工数据表 as empas emp,(select(select 部门数据表部门数据表.部门编号,部门数据表部门编号,部门数据表.部门名称部门名称From From 部门数据表部门数据表Where Where 部门数据表部门数据表.部门编号部门编号2)as sp2)a
22、s spWhere emp.Where emp.部门编号部门编号sp.sp.部门编号部门编号首先使用首先使用selectselect语句检索高级部门,并用别名语句检索高级部门,并用别名spsp表示该派生表示该派生表,然后从员工数据表和表,然后从员工数据表和spsp派生表中检索数据。派生表中检索数据。2022/9/1623第23页,共70页,编辑于2022年,星期日Where Where 子句子句Where Where 子句指定数据检索的条件,以限制返回的数据子句指定数据检索的条件,以限制返回的数据行。行。Where Where 子句中的查询条件子句中的查询条件比较运算符:比较运算符:、=、=、
23、=、!=!=、!范围说明:范围说明:Between A and BBetween A and B、Not Between A and BNot Between A and B可选值列表:可选值列表:ININ、NOT INNOT IN模式匹配:模式匹配:LIKELIKE,NOT LIKENOT LIKE是否空值:是否空值:IS NULLIS NULL、IS NOT NULLIS NOT NULL上述条件的逻辑组合:上述条件的逻辑组合:ANDAND、OROR、NOTNOT2022/9/1624第24页,共70页,编辑于2022年,星期日比较查询条件:比较查询条件:texttext、ntextnte
24、xt和和imageimage数数据类型不能与比较运算符组合成查询条据类型不能与比较运算符组合成查询条件。件。列表查询条件:列表查询条件:in in 关键字在大多数情况关键字在大多数情况下应用于嵌套查询(又称为子查询)中,下应用于嵌套查询(又称为子查询)中,通常首先使用通常首先使用selectselect语句选定一个范围,语句选定一个范围,然后将选定的范围作为然后将选定的范围作为inin关键字的符号关键字的符号条件的列表,从而得出最终的结果集。条件的列表,从而得出最终的结果集。2022/9/1625第25页,共70页,编辑于2022年,星期日模式查询条件:模式查询条件:LikeLike、Not
25、LikeNot Like通配符通配符n*匹配任意字符串匹配任意字符串n?匹配任意一个字符匹配任意一个字符大小写敏感大小写敏感2022/9/1626第26页,共70页,编辑于2022年,星期日LikeLike关键字中的通配符及其含义关键字中的通配符及其含义通配通配符符含义含义%由由0 0个或更多字符组成的任意字符串个或更多字符组成的任意字符串_ _任意单个字符任意单个字符用于指定范围,例如用于指定范围,例如a-fa-f,表示,表示a a到到f f范围内的任何单个字符范围内的任何单个字符表示指定范围,例如表示指定范围,例如a-fa-f,表示,表示a a到到f f范围以外的任何单个字符范围以外的任何
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 SQL 语言 基础 PPT 讲稿
限制150内