《Oracle9i关系数据库实用教程(第二版)》.ppt
《《Oracle9i关系数据库实用教程(第二版)》.ppt》由会员分享,可在线阅读,更多相关《《Oracle9i关系数据库实用教程(第二版)》.ppt(56页珍藏版)》请在三一办公上搜索。
1、SQL语言基础,第3章,Oracle9i关系数据库,本章内容,3.1 SQL简介 3.2 SQL基本语法 3.3 数据查询语言(DQL)3.4 数据操纵语言(DML)3.5 数据定义语言(DDL)3.6 数据控制语言(DCL)3.7 常用函数,一、发展历史 SQL语言是数据库的核心语言。全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。,3.1 SQL简介,二、SQL的优点1.非过程化语言 SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提
2、供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。,2.统一的语言 SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了语句,包括:查询数据在表中插入、修改和删除记录建立、修改和删除数据对象控制对数据和数据对象的存取保证数据库一致性和完整性,3.是所有关系数据库的公共语言由
3、于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个,所有用SQL编写的程序都是可以移植的。,三、操作界面 1SQL*PLUS界面:(1)登录输入SQLPLUS,再回车;接着输入正确的Oracle用户名并回车;输入用户口令并回车,会显示提示符:SQL。(2)退出输入EXIT即可。,2语句的编辑与运行语句的编辑与运行可以在语句提示符后输入SQL语句并运行。执行单条语句,以分号结束输入;执行程序块以斜杠结束输入,或者以空行结束输入。也可以利用SQL缓冲区进行PL/SQL块的编辑和运行,或利用语句文件进行PL/SQL块的编辑和运行。,一、SQL语言的主要
4、功能 通过SQL语句,程序员或数据库管理员(DBA)可以做如下的主要工作:(1)建立数据库的表格,包括设置表格所可以使用之空间。(2)改变数据库系统环境设置。(3)针对某个数据库或表格,授予用户存取权限。(4)对数据库表格建立索引值。(5)修改数据库表格结构(新建、删除或是修改表格字段)。,3.2 SQL基本语法,(6)对数据库进行数据的新建。(7)对数据库进行数据的删除。(8)对数据库进行数据的修改。(9)对数据库进行数据的查询。,二、SQL语言的语法结构SQL语句是针对关系型数据库所建立出来的语法叙述,所以SQL在这类数据库中所发挥的功能非常的强,SQL的语句不多,而且其语法也相对较简单。
5、归纳起来,共有六大类:1第一类属性词(Predicates)2第二类声明(Declaration)3第三类条件子句(Clause)4第四类运算符(Operator)与操作数(Operation)5第五类函数(Function)6第六类SQL语句(Statement),一、基本查询 1DQL的基本结构2SELECT 语句的格式SELECTpredicate*|table.*|table.field,table.field2,.AS alias1,alias2,.FROM tableexpression,.WHERE.GROUP BY.HAVING.ORDER BY.WITH OWNERACCES
6、S OPTION,3.3 数据查询语言(DQL),3SELECT中的条件语句(1)FROM 条件子句SELECT fieldlistFROM tableexpression(2)WHERE 条件子句SELECT fieldlistFROM tableexpressionWHERE criteria(3)“*”,DISTINCT属性词用法 SELECT*|DISTINCT FROM table,(4)ORDER BY条件子句 SELECT fieldlist FROM tableWHERE selectcriteriaORDER BY fieldASC|DESC,field2ASC|DESC,.
7、(5)GROUP BY 条件子句SELECT fieldlistFROM tableWHERE criteriaGROUP BY groupfieldlist,(6)HAVING 条件子句 SELECT fieldlist FROM table WHERE selectcriteria GROUP BY groupfieldlist HAVING groupcriteria(7)BETWEEN.AND 运算符 exprNotBETWEEN value1 AND value2(8)LIKE 操作数 expression LIKE pattern expression,4注意事项(1)字段名之间可
8、以进行算术运算,例如:(字段名1*字段名2)/3(2)查询语句可以嵌套,例如:SELECTFROM 表名1 WHERE 字段1 in(SELECTFROM表名1,表名2,WHERE条件1 WHERE条件2);(3)查询结果集的排序操作,默认的排序是升序ASC,降序是ESC。(4)每个表都有一个隐含的字段ROWID,它标记着记录的唯一性。,二、复合查询1连接查询 连接可以在SELECT 语句的FROM子句或WHERE子句中建立,在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。(1)内连接 内连接查询操作列出与连接
9、条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:,等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括、=、!。自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。,(2)外连接 外连接分为左外连接、右外连接和全外连接三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接
10、时)中所有符合搜索条件的数据行。在ORACLE中,外连接可以通过在WHERE子句中:(+)的使用来使用,例如:表A与表B的左连接A.FIELD1(+)=B.FIELD1,右连接A.FIELD1=B.FIELD1(+)。,(3)交叉连接 交叉连接不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。,2联合查询 UNION运算符可以将两个或两个以上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。UNION的语法格式为:select_statementUNION ALL
11、 selectstatementUNION ALL selectstatementn,三、集合函数1统计字段值的数目函数COUNT()用来统计一个表中有多少条记录。,注意:函数COUNT()没有指定任何字段。这个语句计算表中所有记录所数目,包括有空值的记录。因此,不需要指定要被计算的特定字段,2计算字段的平均值函数AVG()可以返回一个字段中所有值的平均值。,注意:函数AVG()只能对数值型字段使用。这个函数在计算平均值时也忽略空值。,3计算字段值的和计算字段值的和使用函数SUM()。,注意:函数SUM()的返回值代表字段purchase_amount中所有值的总和。,4返回最大值或最小值函数
12、MAX()和函数MIN()分别用于返回最大值和最小值。,注意:函数MIN()返回一个字段的所有值中的最小值。如果字段是空的,函数MIN()返回空值。,一、INSERT语句1INSERT语句格式INSERT语句用于往数据表里插入记录。(1)同时插入多条记录的语句格式为:INSERT INTO(target.field1,target.field2,)SELECT(source.field1,source.field2,)FROM tableexpression,3.4 数据操纵语言(DML),(2)插入单条记录的语句格式为:INSERT INTO(target.field1,target.fie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle9i关系数据库实用教程第二版 Oracle9i 关系 数据库 实用教程 第二
链接地址:https://www.31ppt.com/p-6525865.html