关系数据库标准语言sql语言基础

上传人:wm****3 文档编号:52335895 上传时间:2018-08-20 格式:PPT 页数:50 大小:333.50KB
返回 下载 相关 举报
关系数据库标准语言sql语言基础_第1页
第1页 / 共50页
关系数据库标准语言sql语言基础_第2页
第2页 / 共50页
关系数据库标准语言sql语言基础_第3页
第3页 / 共50页
关系数据库标准语言sql语言基础_第4页
第4页 / 共50页
关系数据库标准语言sql语言基础_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《关系数据库标准语言sql语言基础》由会员分享,可在线阅读,更多相关《关系数据库标准语言sql语言基础(50页珍藏版)》请在金锄头文库上搜索。

1、SQL语言基础本章学习目标 SQL语言是数据库的标准语言。只有 理解了SQL才能真正理解关系数据库。本 章将介绍怎样使用“结构化查询语言”( SQL)来操作数据库。第三章 SQL语言基础 本章内容安排3.1 SQL3.1 SQL简介简介 3.2 SQL3.2 SQL基本语法基本语法 3.3 3.3 数据查询语言(数据查询语言(DQLDQL)3.4 3.4 数据操纵语言(数据操纵语言(DMLDML) 3.5 3.5 数据定义语言数据定义语言(DDL)(DDL) 3.6 3.6 数据控制语言(数据控制语言(DCLDCL) 3.7 3.7 常用函数常用函数3.1.2 SQL3.1.2 SQL的优点的

2、优点 3.1.3 3.1.3 操作界面操作界面 3.1.1 3.1.1 发展历史发展历史 3.1 SQL简介 SQL语言是数据库的核心语言。全称是“结 构化查询语言(Structured Query Language)”, 最早的是IBM的圣约瑟研究实验室为其关系数 据库管理系统SYSTEMR开发的一种查询语言, 它的前身是SQUARE语言。 1.非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录, 对数据提供自动导航。SQL允许用户在高层的数据结构上 工作,而不对单个记录进行操作,可操作记录集。所有 SQL语句接受集合作为输入,返回集合作为输出。SQL的 集合特性允许一条SQL语

3、句的结果作为另一条SQL语句的 输入。SQL不要求用户指定对数据的存放方法。这种特性 使用户更易集中精力于要得到的结果。3.1.2 SQL的优点 3.1.2 SQL的优点2.统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据 库管理员、应用程序员、决策支持系统人员及许多其它类型的 终端用户。SQL为许多任务提供了语句,包括: 查询数据 在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性3.1.2 SQL的优点3.是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用 户可将使用SQL的技能从一个RD

4、BMS转到另一个,所有用 SQL编写的程序都是可以移植的。 1SQL*PLUS界面:(1)登录输入SQLPLUS,再回车;接着输入正确的Oracle用户名 并回车;输入用户口令并回车,会显示提示符:SQL。(2)退出输入EXIT即可。2语句的编辑与运行语句的编辑与运行可以在语句提示符后输入SQL语句并 运行。执行单条语句,以分号结束输入;执行程序块以 斜杠结束输入,或者以空行结束输入。也可以利用SQL缓冲区进行PL/SQL块的编辑和运行,或 利用语句文件进行PL/SQL块的编辑和运行。3.1.3 操作界面 3.2.2 SQL3.2.2 SQL语言的语法结构语言的语法结构 3.2.1 SQL3.

5、2.1 SQL语言的主要功能语言的主要功能 3.2 SQL基本语法 通过过SQL语语句,程序员员或数据库库管理员员(DBA)可以做如下的 主要工作:(1)建立数据库库的表格,包括设设置表格所可以使用之空间间。(2)改变变数据库库系统环统环 境设设置。(3)针对针对 某个数据库库或表格,授予用户户存取权权限。(4)对对数据库库表格建立索引值值。(5)修改数据库库表格结结构(新建、删删除或是修改表格字段) 。(6)对对数据库进库进 行数据的新建。(7)对对数据库进库进 行数据的删删除。(8)对对数据库进库进 行数据的修改。(9)对对数据库进库进 行数据的查询查询 。3.2.2 SQL语言的语法结构

6、SQL语句是针对关系型数据库所建立出来的语法叙述,所以 SQL在这类数据库中所发挥的功能非常的强,SQL的语句不多 ,而且其语法也相对较简单。归纳起来,共有六大类:1第一类属性词(Predicates)2第二类声明(Declaration)3第三类条件子句(Clause)4第四类运算符(Operator)与操作数(Operation)5第五类函数(Function)6第六类SQL语句(Statement) 3.3.2 3.3.2 复合查询复合查询 3.3.1 3.3.1 基本查询基本查询 3.3 数据查询语言(DQL)3.3.3 3.3.3 集合函数集合函数 1DQL的基本结构2SELECT

7、语句的格式SELECTpredicate*|table.*|table.field,table.f ield2,. AS alias1 ,alias2,.FROM tableexpression ,.WHERE.GROUP BY.HAVING.ORDER BY.WITH OWNERACCESS OPTION3.3.1 基本查询 3SELECT中的条件语句(1)FROM 条件子句SELECT fieldlistFROM tableexpression (2)WHERE 条件子句SELECT fieldlistFROM tableexpressionWHERE criteria(3)“*”,DIS

8、TINCT属性词用法 SELECT *|DISTINCT FROM table(4)ORDER BY条件子句 SELECT fieldlist FROM tableWHERE selectcriteriaORDER BY fieldASC|DESC,field2ASC|DESC,.(5)GROUP BY 条件子句SELECT fieldlistFROM tableWHERE criteriaGROUP BY groupfieldlist(6)HAVING 条件子句 SELECT fieldlistFROM tableWHERE selectcriteriaGROUP BY groupfield

9、listHAVING groupcriteria (7)BETWEEN.AND 运算符 exprNotBETWEEN value1 AND value2(8)LIKE 操作数 expression LIKE “pattern“expression4注意事项(1)字段名之间可以进行算术运算,例如:(字段名1*字段名2)/3(2)查询语句可以嵌套,例如:SELECTFROM 表名1 WHERE 字段1 in (SELECTFROM表名1,表名2, WHERE条件1 WHERE条件2);(3)查询结果集的排序操作,默认的排序是升序ASC,降序是DESC。(4)每个表都有一个隐含的字段ROWID,它标

10、记着记录的唯一性。1连接查询连接可以在SELECT 语句的FROM子句或WHERE子句中建立,在FROM 子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来 。所以,在Transact-SQL中推荐使用这种方法。(1)内连接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较 被连接列的列值。内连接分三种:等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其 查询结果中列出被连接表中的所有列,包括其中的重复列。不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被 连接的列的列值。这些运算符包括、=、!。自然连接:在连接条件中使用等于(=)运

11、算符比较被连接列的列值,但它 使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 。3.3.2 复合查询(2)外连接外连接分为左外连接、右外连接和全外连接三种。与内连接不同的 是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接 时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条 件的数据行。在ORACLE中,外连接可以通过在WHERE子句中:(+)的使用来 使用,例如:表A与表B的左连接A.FIELD1(+)=B.FIELD1,右连接 A.FIELD1=B.FIELD1(+)。(3)交叉连接交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛

12、卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的 数据行数乘以第二个表中符合查询条件的数据行数。2联合查询UNION运算符可以将两个或两个以上SELECT语句的查询结果集合合并 成一个结果集合显示,即执行联合查询。UNION的语法格式为:select_statementUNION ALL selectstatementUNION ALL selectstatementn1统计字段值的数目函数COUNT()用来统计一个表中有多少条记录。注意:函数COUNT()没有指定任何字段。这个语句计算表 中所有记录所数目,包括有空值的记录。因此,不需要指定 要被计算的特定字段。2计算字段的平均

13、值函数AVG()可以返回一个字段中所有值的平均值。注意:函数AVG()只能对数值型字段使用。这个函数在计 算平均值时也忽略空值。3.3.3集合函数3计算字段值的和计算字段值的和使用函数SUM()。注意:函数SUM()的返回值代表字段purchase_amount中所 有值的总和。4返回最大值或最小值函数MAX()和函数MIN()分别用于返回最大值和最小值。注意:函数MIN()返回一个字段的所有值中的最小值。如 果字段是空的,函数MIN()返回空值。3.4.2 DELETE语句3.4.1 INSERT3.4.1 INSERT语句语句 3.4 数据操纵语言(DML)3.4.3 UPDATE语句1I

14、NSERT语句格式INSERT语句用于往数据表里插入记录。(1)同时插入多条记录的语句格式为:INSERT INTO (target.field1,target.field2,)SELECT (source.field1,source.field2,)FROM tableexpression(2)插入单条记录的语句格式为:INSERT INTO (target.field1,target.field2,.)VALUES(value1,value2,.)3.4.1 INSERT语句2注意事项(1)字符串类型的字段值必须用单引号括起来,例如:GOODDAY。(2)如果字段值里包含单引号需要进行字符

15、串转换,把它替换成两个 单引号 。(3)字符串类型的字段值超过定义的长度会出错,最好在插入前进行 长度校验。(4)日期字段的字段值可以用当前数据库的系统时间SYSDATE,精确 到秒。(5)INSERT时如果要用到从1开始自动增长的序列号,应该先建立一 个序列号。1DELETE语句格式DELETE语句删除数据表里的记录。用DELETE语句删除的记录,无法 再复原,所以条件设置一定要正确。DELETE语句格式为:DELETE table.*FROM tableexpressionWHERE criteria3.4.2 DELETE语句2注意事项(1)删除记录并不能释放Oracle里被占用的数据块

16、表空间。它只把那些 被删除的数据块标成unused。(2)如果确实要删除一个大表里的全部记录,可以用TRUNCATE语句 ,它可以释放占用的数据块表空间,其语句格式为:TRUNCATE TABLE 表名;(3)此操作不可回退。UPDATE 语句通过条件的限制来修改特定的数据。 UPDATE语句格式为:UPDATE tableSET newvalueWHERE criteria;DML 语句对表都加上了行级锁,确认完成后, 必须加上事物处理结束的语句COMMIT才能正式生效 ,否则改变不一定写入数据库里。如果想撤回这些 操作,可以用语句ROLLBACK复原。3.4.3 UPDATE语句3.5.2 ALTER语句 3.5.1 CRE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号