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