《精编》SQL查询与SQL函数学习教材

上传人:tang****xu4 文档编号:133392312 上传时间:2020-05-26 格式:PPT 页数:41 大小:484.50KB
返回 下载 相关 举报
《精编》SQL查询与SQL函数学习教材_第1页
第1页 / 共41页
《精编》SQL查询与SQL函数学习教材_第2页
第2页 / 共41页
《精编》SQL查询与SQL函数学习教材_第3页
第3页 / 共41页
《精编》SQL查询与SQL函数学习教材_第4页
第4页 / 共41页
《精编》SQL查询与SQL函数学习教材_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《精编》SQL查询与SQL函数学习教材》由会员分享,可在线阅读,更多相关《《精编》SQL查询与SQL函数学习教材(41页珍藏版)》请在金锄头文库上搜索。

1、第二章 SQL查询和SQL函数 Oracle网络配置Oracle基本用户管理Oracle中用于访问数据库的主要查询工具有SQL Plus iSQL Plus和PL SQLOracle企业管理器是用于管理 诊断和调整多个数据库的工具 回顾 本章任务 使用SQL执行数据查询控制数据的对象权限 技能目标 了解Oracle数据类型了解数据定义语言和数据控制语言掌握SQL操作符和SQL函数 SQL简介2 1 SQL是StructuredQueryLanguage 结构化查询语言 的首字母缩写词SQL是数据库语言 Oracle使用该语言存储和检索信息表是主要的数据库对象 用于存储数据 通过SQL可以实现与

2、Oracle服务器的通信 发送SQL查询 用户 SQL简介2 2 SQL支持下列类别的命令 数据定义语言 DDL 数据操纵语言 DML 事务控制语言 TCL 数据控制语言 DCL 数据定义语言 CREATE ALTER DROP 数据操纵语言 INSERT SELECT DELETE UPDATE 事务控制语言 COMMIT SAVEPOINT ROLLBACK 数据控制语言 GRANT REVOKE Oracle数据类型5 1 创建表时 必须为各个列指定数据类型以下是Oracle常用数据类型的类别 数据类型 字符 数值 日期时间 Oracle数据类型5 2 字符数据类型 CHAR VARCH

3、AR2 LONG 当需要固定长度的字符串时 使用CHAR数据类型 CHAR数据类型存储字母数字值 CHAR数据类型的列长度可以是1到2000个字节 VARCHAR2数据类型支持可变长度字符串VARCHAR2数据类型存储字母数字值VARCHAR2数据类型的大小在1至4000个字节范围内 LONG数据类型存储可变长度字符数据LONG数据类型最多能存储2GB Oracle数据类型5 3 数值数据类型可以存储正数 负数 零 定点数和浮点数浮点数最高精度为38位数值数据类型的声明语法 NUMBER p s P表示精度 S表示小数点的位数 日期时间数据类型存储日期和时间值 包括年 月 日 小时 分钟 秒主

4、要的日期时间类型有 DATE 存储日期和时间部分 精确到整个的秒TIMESTAMP 存储日期 时间和时区信息 秒值精确到小数点后6位 数据定义语言 数据定义语言用于改变数据库结构 包括创建 更改和删除数据库对象用于操纵表结构的数据定义语言命令有 CREATETABLEALTERTABLETRUNCATETABLEDROPTABLE 创建表 创建表命令用途语法 CREATETABLE schema table columndatatype columndatatype SQL CREATETABLEvendor master vencodeVARCHAR2 5 vennameVARCHAR2 2

5、0 venadd1VARCHAR2 20 venadd2VARCHAR2 20 venadd3VARCHAR2 20 表命名规则 表名应该严格遵循下列命名规则1 表名首字符应该为字母2 不能使用oracle保留字来为表命名3 表名的最大长度为30个字符4 同一用户模式下的不同表不能具有相同的名称5 可以使用下划线 数字和字母 但不能使用空格和单引号6 Oracle中的表名 还有列名 用户名和其他对象名 不区分大小写 系统会自动转换成大写 更改表命令 用途 有以下几种情况添加新列更改列的数据类型或数据类型的宽度添加或删除完整性约束条件删除现有列 更改表 语法ALTERTABLEMODIFY co

6、lumndefinition ALTERTABLEADD columndefinition ALTERTABLEDROPCOLUMNcolumn SQL ALTERTABLEvendor masterMODIFY vennamevarchar2 25 SQL ALTERTABLEvendor masterADD tel novarchar2 12 tngst no number 12 SQL ALTERTABLEvendor masterDROPCOLUMNtngst no 删除表 用途语法DROPTABLE SQL DROPTABLEvendor master 数据控制语言 数据控制语言为用

7、户提供权限控制命令用于权限控制的命令有 GRANT授予权限REVOKE撤销已授予的权限 SQL GRANTSELECT UPDATEONorder masterTOMARTIN SQL GRANTUPDATE qty hand re level ONitemfileTOMARTIN SQL GRANTSELECTONvendor masterTOaccountsWITHGRANTOPTION SQL REVOKESELECT UPDATEONorder masterFROMMARTIN SQL操作符 SQL操作符 集合操作符 逻辑操作符 比较操作符 算术操作符 连接操作符 Oracle支持的S

8、QL操作符分类如下 算术操作符 算术操作符用于执行数值计算可以在SQL语句中使用算术表达式 算术表达式由数值数据类型的列名 数值常量和连接它们的算术操作符组成算术操作符包括加 减 乘 除 SQL SELECTitemdesc max level qty handavble limitFROMitemfileWHEREp category spares SQL SELECTitemdesc itemrate max level qty hand FROMitemfileWHEREp category spares 比较操作符 比较操作符用于比较两个表达式的值比较操作符包括 BETWEEN AND

9、 IN LIKE和ISNULL等 SQL SELECTitemdesc re levelFROMitemfileWHEREqty hand max level 2 SQL SELECTordernoFROMorder masterWHEREdel dateIN 06 1月 05 05 2月 05 SQL SELECTvencode venname tel noFROMvendor masterWHEREvennameLIKE j s 逻辑操作符 SQL SELECT FROMorder masterWHEREodate 10 5月 05 ANDdel date 26 5月 05 显示2005

10、5月 10至2005 5月 26的订单信息 逻辑操作符用于组合多个计较运算的结果以生成一个或真或假的结果 逻辑操作符包括与 AND 或 OR 和非 NOT 集合操作符 集合操作符将两个查询的结果组合成一个结果 集合操作符 UNION UNIONALL INTERSECT MINUS UNION操作符返回两个查询选定都所有不重复都行 SQL SELECTordernoFROMorder masterUNIONSELECTordernoFROMorder detail UNIONALL操作符合并两个查询选定的所有行 包括重复的行 SQL SELECTordernoFROMorder masterU

11、NIONALLSELECTordernoFROMorder detail SQL SELECTqty hand max levelFROMitemfileUNIONSELECTqty ord qty deldFROMorder detailORDERBY2 集合操作符 集合操作符将两个查询的结果组合成一个结果 集合操作符 UNION UNIONALL INTERSECT MINUS INTERSECT操作符只返回两个查询都有的行 SQL SELECTordernoFROMorder masterINTERSECTSELECTordernoFROMorder detail MINUS操作符只返回

12、由第一个查询选定但是没有被第二个查询选定的行 也就是在第一个查询结果中排除在第二个查询结果中出现的行 SQL SELECTordernoFROMorder masterMINUSSELECTordernoFROMorder detail 连接操作符 连接操作符用于将多个字符串或数据值合并成一个字符串 SQL SELECT 供应商 venname 的地址是 venadd1 venadd2 venadd3 addressFROMvendor masterWHEREvencode V001 通过使用连接操作符可以将表中的多个列合并成逻辑上的一行列 操作符的优先级 SQL操作符的优先级从高到低的顺序是

13、 算术操作符 最高优先级连接操作符比较操作符NOT逻辑操作符AND逻辑操作符OR逻辑操作符 最低优先级 SQL函数 Oracle提供一系列用于执行特定操作的函数SQL函数带有一个或多个参数并返回一个值以下是SQL函数的分类 SQL函数 标量函数 分组函数 标量函数分类 标量 单行 函数对于从表中查询的每一行只返回一个值可以出现在SELECT子句中和WHERE子句中标量函数可以大致划分为 日期函数数字函数字符函数转换函数其他函数 日期函数 日期函数对日期值进行运算 并生成日期数据类型或数值类型的结果日期函数包括 ADD MONTHSMONTHS BETWEENLAST DAYROUNDNEXT

14、DAYTRUNCEXTRACT 日期函数 ADD MONTHS函数返回给指定的日期加上指定的月数后的日期值 格式为ADD MONTHS d n 其中d是日期 n表示月数 SQL SELECTdel date ADD MONTHS del date 2 FROMorder master 日期函数 MONTHS BETWEEN函数返回两个日期之间的月数格式为MONTHS BETWEEN d1 d2 详细 d1和d2是日期 输出结果为一个数值 如果d1晚于d2 则结果为正数 否则为负数 如果d1和d2为某月中的同一天或月份的最后一天 则结果始终为整数 否则oracle将根据一个月31天来计算结果的小

15、数部分 并考虑d1和d2时间部分的差 LAST DAY函数返回指定日期当月的最后一天的日期值格式为LAST DAY d SQL SELECTSYSDATE LAST DAY SYSDATE FROMdual 日期函数 ROUND函数返回日期值 此日期四舍五入为格式模型指定的单位 格式为ROUND d fmt 详细 d是日期 fmt是格式模型 fmt是一个可选项 日期默认舍入为最靠近的那一天 如果指定格式为年 YEAR 则舍入到年的开始 即1月1日 如果格式为月 MONTH 则舍入到月的第一日 如果格式为周 DAY 则舍入到最靠近的星期日 SQL SELECTdel date ROUND del

16、 date YEAR FROMorder masterWHEREvencoe V001 SQL SELECTROUND DATE 2005 5 10 MONTH ROUND DATE 2005 6 16 MONTH FROMdual 日期函数 NEXT DAY函数返回指定的下一个星期几的日期 格式为NEXT DAY d day 详细 d是日期 day指周内任何一天 SQL SELECTNEXT DAY SYSDATE 星期二 FROMdual 日期函数 TRUNC函数将指定日期截断为由格式模型指定的单位的日期 与ROUND函数不同的是它只舍不入格式为TRUNC d fmt 它使用与ROUND函数相同的格式模型 如果不指定fmt 则日期被截断为天详细 d是日期时间表达式 fmt是要提取的部分的格式 格式的取值可以是YEAR MONTH DAY HOUR MINUTE SECOND 注意此处的格式不用使用单引号 SQL SELECTTRUNC sysdate YEAR FROMdual SQL SELECTTRUNC sysdate DAY FROMdual SQL SELECTTRUNC

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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