关系数据库标准语言SQL080318By朱大鹏.ppt_第1页
关系数据库标准语言SQL080318By朱大鹏.ppt_第2页
关系数据库标准语言SQL080318By朱大鹏.ppt_第3页
关系数据库标准语言SQL080318By朱大鹏.ppt_第4页
关系数据库标准语言SQL080318By朱大鹏.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

关系数据库标准语言SQL,2007年6月5日 By 朱大鹏,主要内容,SQL(Structured Query Language) SELECT命令介绍 常用函数:NVL( ) DECODE( ) TRUNC() INSERT、UPDATE、DELETE Database Link TRUNCATE,DELETE,DROP的比较,SQL(Structured Query Language),SQL:结构化查询语言。 查询是SQL语言的重要组成部分; SQL已经成为关系数据库的标准数据语言; 现在所有的关系数据库管理系统(MS SQL SERVER、ORACLE、SYBASE、DB2、MYSQL)都支持SQL。,SQL(Structured Query Language),SQL种类 DQL数据查询语言 Select DDL数据定义语言 Create、 Drop 、Alter DML数据操作语言 Insert、Update、Delete DCL数据控制语言 Grant、Revoke,DQL:SELECT,SELECT DISTINCT FROM WHERE 筛选条件 AND/OR 筛选条件 AND 联接条件 GROUP BY 分组表达式 HAVING 分组筛选条件 UNION ALL ORDER BY “书写SELECT命令就是根据需要填空” 红色为关键字,蓝色可可选项,黑色为必填项。,显示表中所有字段的所有数据方式: 1. 在SELECT后面使用 代表全部字段; 2. 在SELECT后面依次列出全部字段;,最简单的SELECT语句,WHERE子句的使用,对字段FITEMNAME进行筛选,条件为“人口” 同时在SELECT中指明只列出字段FPROVINCEID及字段FCOUNT字段的数据。,多表联接,表tab_table1与表tab_table2通过联接条件 t2.fprovinceid=t1.fprovinceid 进行联接 当进行多表联接时,如果多表中存在字段名相同的字段,在使用时应该通过 表名/表别名.字段名 的方式指名要使用的是哪一个表中的字段。,多表联接,在联接条件的等号两侧的任意一侧字段名后使用(+)。 不能同时在等号两侧使用(+)。 (+)表示(+)方表中数据是不完全的,即在另一方有数据而面(+)方找不到与之对应的数据。 (+)方不完全数据在结果中以空值形式表示。,分组统计字句GROUP BY,统计函数 Sum( 字段 ) 求和 Count( 字段/ ) 求记录数 Avg( 字段 ) 求平均 统计函数 ( )中也可以使用 DISTINCT关键字对记录集 先进行滤重操作,然后再 进行统计函数操作。,分组统计并求总和rollup,分组统计并求总和rollup,左图:以FPROVINCEID为键值,对统计值进行求总和 右图:以FITEMNAME为键值,对统计值进行求总和,排序子句ORDER BY,左图:按FITEMNAME升序(默认排序方式)排序 右图:先按FITEMNAME降序,再按FCOUNT升序排序,集合拼接UNION,两个SELECT命令产生的集合可以通过UNION或UNION ALL拼接为一个大集合 两个SELECT产生的集合字段数量要相同; 两个SELECT产生的集合字段类型要一一对应; 使用UNION进行拼接时,会过滤到重复记录行。 使用UNION ALL进行接接时,仅是拼接不进行滤重。 使用UNION 或 UNION ALL接接集合后,排序子句只能写一个且写在最后。,集合拼接UNION,常用函数nvl( ),NVL(字段,空值替换值) 在右图中,当FITEMNAME字段值为空值时,使用“合计”替换空值。,常用函数decode( ),decode(字段,源值1,替换值1,源值2,替换值2,其他源值替换值) 上图中对字段FITEMNAME进行DECODE() 空值合计: 人口人口总数: 其他字段取值机动车总数:,常用函数trunc( ),TRUNC(日期表达式,格式描述符) Sysdate: 2007-06-08 08:39:04 trunc(sysdate): 2007-06-08 trunc(sysdate,hh24): 2007-06-08 08:00:00 trunc(sysdate),mi): 2007-06-08 08:39:00 TRUNC(数值表达式,保留小数位数) trunc(87.6543): 87 trunc(87.6543,2): 87.65 trunc(87.6543,1): 87.6 注:无四舍五入功能。,INSERT、UPDATE、DELETE,在使用INSERT、UPDATE、DELETE命令时须配合使用COMMIT、ROLLBACK对操作进行提交或撤消。 Insert Into tab_table1(fprovinceid,fprovincename) Values(4,天津); Commit; Update tab_table1 Set fprovincename=广州 Where fprovinceid=4; Commit; Delete From tab_table1 Where fprovinceid=4; Commit;,DDL:CREATE,建立数据库表方式 Create 表名 ( 字段1 字段类型, 字段2 字段类型, 字段3 字段类型 ); 在PL/SQL DEVELOPER软件中通过VIEW现存表得到该表的CREATE语句 Create 表名 as Select * from 现存表 where 1=2;,Database Link,Database Link定义了从一个Oracle数据库到另一个数据库的单行通信通道。 Database Link的使用十分简单类似于E-MAIL形式,使用格式如下: table_namedatabase_link_name 例如: Select * From tab_,TRUNCATE,DELETE,DROP的比较,相同点 都会删除表内的数据 不同点 TRUNCATE和DELETE只删除表中的数据。而DROP则同时删表中的数据和表的结构,依赖与表的约束、索引也同时删除。 DELETE需要通过使用COMMIT命令使用之生效,在未进行COMMIT前可使用ROLLBACK取消删除。而TRUNCATE和DROP操作立刻生效,删除动作无法取消。 在速度上DROPTRUNCATEDELETE,附录1:常用SQL函数,日期字符转换函数 To_char(日期表达式,格式描述符) To_char(sysdate,yyyy/mm/dd) To_date(字符表达式,格式描述符) To_date(2004-04-04,yyyy-mm-dd) 字符串长度 Length(字符表达式) Length(abcdefg) 字符大小写转换 Upper(字符表达式)全部大写 Lower(字符表达式)全部小写,附录1:常用SQL函数,四舍五入函数 Round(数值表达式,保留小数位数) Round(1234.5178,1)=1234.5 Round(1234.5178,2)=1234.52 Round(1234.5178)=1235 字符串截取 Substr(字符表达式,截取开始位置,截取长度) Substr(ABCDEFG,3,3)=CDE 数值字符 To_number(字符表达式) To_char(字符表达式),附录2:参考资料,/myBlogDetail.htx&id=401092&userid=26461101 /hxd

温馨提示

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

评论

0/150

提交评论