SQL语言.ppt_第1页
SQL语言.ppt_第2页
SQL语言.ppt_第3页
SQL语言.ppt_第4页
SQL语言.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 1 SQL语言 本章学习内容 SQL语言概述SQL Plus的使用简单查询Update delete insert语句 1 Sql的产生和发展 最早的版本有IBM的Sanjose研究室提出StructuredEnglishQueryLanguageSQL的标准是由ANSI在1986 10公布的 随后被ISO采纳 2 关于SQL的小故事 Ingres数据库在加州大学伯克利分校诞生 主要的设计者是当时鼎鼎大名的MichaelStonebraker教授 可以说Ingres数据库软件是上个世纪80年代技术上最好的数据库并占有较大的市场分额 Ingres使用的是Stonebraker发明的QUEL QueryLanguage 的查询技术 而IBM采用的是SQL 这两者区别较大 在某些地方QUEL甚至要优于SQL SQL为什么能够打败quel而被广泛接受呢 IBM当时担心Ingres把QUEL变成标准会对自己不利 经过一番衡量 决定把自己的SQL提交给数据库标准委员会 而Stonebraker教授可不打算把QUEL提交给数据库标准委员会 学院派的他认为这麽做实际上是扼杀了创新精神 结果各大数据库厂商分别支持推出SQL的产品 Ingres不断丢城失地 等到后来推出支持SQL的数据库的时候为时已晚 3 SQL的特点 1 一体化 SQL集DDL DML DCL等功能于一体 几乎涵盖了对数据库的所有操作 2 高度的非过程化 3 面向集合的操作方式 4 多种使用方式 可以单独对数据库操作 也可以嵌入到其它高级语言中使用 通常情况下 数据库产品都提供命令模式操作数据库的功能 5 简洁 4 SQL的分类 数据定义语言 DataDefinitionLanguage DDL 用来定义 修改数据库对象 数据操纵语言 DataManipulationLanguage DML 用于查询 更新 增加 更改记录 数据控制语言 DataControlLanguage DCL 用于设置数据库权限 5 Sql的学习方法 向学习其它的计算机语言一样 多上机试验 本章学习内容 SQL语言概述SQL Plus的使用简单查询Update delete insert语句 1 使用SQL Plus的方式 GUI方法位置在D oracle product 10 2 0 db 1 BIN命令格式方法位置在D oracle product 10 2 0 db 1 BIN 2 连接数据库步骤 1 启动数据库C netstartoracleserviceorcl2 进入sql plus状态C Sqlplus nolog 该方式不连接数据库3 以sys用户连接数据库SQL Connsys orclasSYSDBA4 解锁scott tiger用户 第一次使用oracle用户需要SQL Alteruserscott tigeraccountunlockSQL showuser显示结果 user scott 以后再连接数据库时 可直接输入sql sqlplusscott tiger 启动sqlplus并用scott连接oracle数据库 3 调整输出行数 SQL showlinesizeSQL setlinesize100SQL select fromemp 在GUI模式下明显 4 调整输出页数 SQL showpagesizeSQL setpagesize20SQL Select fromemp 5 设置暂停和取消暂停 SQL setpauseon键入Enter 则继续下一页SQL setpauseoff撤销暂停用show语句可看到设置 6 保留set设置 步骤 1 打开文件 oracle home 10 2 0 db 1 sqlplus admin sqlplus sql2 将设置的语句写在后边例如 setlinesize100每个set占一行3 重启oracleserviceORCL 手动或用netstart Oracle服务器启动时会读取该文件 本章学习内容 SQL语言概述SQL Plus的使用简单查询Update delete insert语句 1 Select from where结构 1 SQL select fromtab 查Scott帐户下的表 2 SQL descemp 查Scott帐户下的emp表结构 emp结构如下 名称是否为空数据类型EMPNO不能为空数字类型ENAME字符类型JOB字符类型MGR数字类型HIREDATE日期类型SAL数字类型COMM数字类型DEPTNO不能为空数字类型 3 SQL select fromemp 查emp表的记录 条件查询 SQL select fromdept2wheredeptno 103 2 设置查询结果字段的别名和排序 SQL selectloclocationfromdeptWheredeptno 10 运行结果 设置查询结果字段的排序 Selectename salfromempWheredeptno 20orderbysal 执行结果 降序排列 Select fromempWheredeptno 20orderbysaldesc 3 Where的使用 等于大于或 不等于 大于或等于 不大于IN判断某个字段值是否出现在所指定的各个数据中Between限定字段值的范围Like主要用于判断字符串字段值是否符合指定的格式 In between link及通配符的用法 SQL select fromempWheresalin 3000 800 Between用法 SQL select fromempWheresalbetween2000and3000 Like用法 代表所查询的表中的所有字段 只用于select中 代表任意个任意字符 下划线代表任意一个字符例如 查询emp中最后字母是e的员工SQL select fromempwhereenamelike S 找出emp中第2个字母是A的员工SQL select fromempwhereenamelike A 结果见下页 转移字符 如果要查询的字符串中含有 或下划线 可以使用escape关键字指定转义符 然后在百分号或下划线后面附加转义符即可 例如 查询列出dept表中 部门名称第一个字符为下划线的部门信息 SQL select fromdeptwherednamelike escape 4 汇总函数 汇总函数用于在select语句中获得指定列上的相关统计信息 这里介绍5个常用的汇总涵数 COUNT 计数函数 SUM 求和函数 MAX 最大值函数 MIN 最小值函数 AVG 平均值函数 count 例如 选择emp中记录的个数用如下语句 SQl selectcount fromemp 例如 计算emp中不重复部门号的个数SQL selectcount distinctdeptno fromemp 例如 选择月工资高于2000的员工个数SQL selectcount fromempWheresal 2000 结果如下 Sum函数 例如 列出所有员工工资总和SQL selectsum sal fromemp MAX MIN AVG函数 列出emp中的最高最低工资的员工SQL selectmax sal fromemp SQL selectmin sal fromemp SQL selectavg sal fromemp 结果 5 Groupby和having子句 groupby子句用来把查询结果分组 having子句用来把分组后的查询结果过滤 例如 按部门找出最高工资SQl selectdeptno max sal min sal fromempgroupbydeptno Having子句 例如 列出部门中工资高于平均工资的员工SQL selectdeptno sal avg sal fromempGroupbydeptnoHavingsal avg sal Where和having区别 1 where子句的位置在groupby子句之前 而having子句在groupby之后 2 where子句在分组之前对表中记录过滤 having子句在分组之后对分组结果进行过滤3 where子句不能包含分组函数 4 如果查询条件不包含分组函数 则having子句和where子句都可以使用 优先选用where子句 如果使用having子句 则要注意having子句中出现的列名 要预先在groupby子句中出现 6 判断空字段Null 判断字段为空的语句Select fromempwherelocis not null 例如 先插入一个记录如下SQL insertintodeptvalues 50 developer null 然后查询SQL select fromdeptwhereloc null 出错 改为SQL select fromdeptwherelocisnull 本章学习内容 SQL语言概述SQL Plus的使用简单查询Update delete insert语句 updat语句用于修改表中的记录 其基本结构为update set where 例1 每个员工增加100元SQL updateempsetsal sal 100 例2 给20部门员工增加100元SQL updateempsetsal sal 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论