Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章

上传人:E**** 文档编号:89350378 上传时间:2019-05-23 格式:PPT 页数:188 大小:931.50KB
返回 下载 相关 举报
Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章_第1页
第1页 / 共188页
Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章_第2页
第2页 / 共188页
Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章_第3页
第3页 / 共188页
Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章_第4页
第4页 / 共188页
Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章_第5页
第5页 / 共188页
点击查看更多>>
资源描述

《Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章》由会员分享,可在线阅读,更多相关《Web数据库编程——Java 教学课件 ppt 作者 舒红平 第6-9章 第6章(188页珍藏版)》请在金锄头文库上搜索。

1、第6章 基于Oracle数据库的设计及应用,6.1 Oracle数据库的SQL简介 6.2 Oracle数据库对象的设计及应用 6.3 Oracle中一些特殊类型的使用 6.4 JDBC高级设计及应用 思考题,6.1 Oracle数据库的SQL简介,6.1.1 SQL概述 SQL是一种面向数据库的通用数据处理语言规范。它能完成以下几类功能:提取查询数据,插入、修改、删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。 数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照(表空间、回滚段、角色、用户)等。数据库通过对表的操作来管理存储在其中

2、的数据。,1SQL*PLUS界面 登录:输入SQLPLUS回车;输入正确的Oracle用户名并回车;输入用户口令并回车,显示提示符:SQL。 退出:输入EXIT即可。,2命令的编辑与运行 在命令提示符后输入SQL命令并运行,以分号结束输入;以斜杠结束输入;以空行结束输入; 利用SQL缓冲区进行PL/SQL块的编辑和运行; 利用命令文件进行PL/SQL块的编辑和运行。,6.1.2 数据库查询 (1) 用SELECT语句从表中提取查询数据。语法为 SELECT DISTINCT column1,column2, FROM tablename WHERE conditions GROUP BY co

3、nditions ORDER BY expressions ASC/DESC; 说明:SELECT子句用于指定检索数据库中的哪些列,FROM子句用于指定从哪一个表或视图中检索数据。,(2) WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达式通过逻辑运算符组合成的复合条件。 (3) ORDER BY子句使得SQL在显示查询结果时将各自返回行按顺序排列,返回行的排列顺序由ORDER BY子句指定的表达式的值确定。,(4) 利用SELECT语句进行数据库查询

4、时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。 连接查询的方法是在SELECT命令的FROM子句中指定两个或多个将被连接查询的表或视图,并且在WHERE子句告诉Oracle如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等式还是不等式,可以把连接查询分为等式连接和不等式连接。,(5) 如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。,6.1.3 Oracle基本数据类型 Oracel支持下列内部数据类型: VARCHAR2:变长字符串,最长为4000

5、 B。 NUMBER:数值型。 LONG:变长字符数据,最长为2 GB。 DATE:日期型。 RAW:二进制数据,最长为2000 B。 LONG RAW:变长二进制数据,最长为2 GB。 ROWID:二进制串,表示表的行的惟一地址。 CHAR:定长字符数据,最长为2000 B。,6.1.4 常用函数用法 一个函数类似于一个运算符,它操作数据项,返回一个结果。函数在格式上不同于运算符,它具有变元,可操作0个、1个、2个或多个变元,形式为: 函数名(变元,变元,) 函数一般可以分为两种类型:单行函数和分组函数。 单行函数对查询的表或视图的每一行返回一个结果行。单行函数包括数值函数、字符函数、日期函

6、数、转换函数等。,分组函数返回的结果是基于行组而不是单行,它不同于单行函数。在许多分组函数中可有下列选项: (1) DISTRNCT 选项:使分组函数只考虑变元表达式中的不同值。 (2) ALL选项:使分组函数考虑全部值,包含全部重复。 除COUNT(*)外的全部分组函数忽略空值。如果具有分组函数的查询而没有返回行或只有空值(分组函数的变元取值的行),则分组函数返回空值。 常用函数包括数值函数、日期函数、字符函数、转换函数及常用组函数等。简要介绍如下。,1数值函数 Abs:求绝对值; Ceil:求最小的整数; Floor:求最大的整数; mod(m,n):返回m除以n的余数; power(m,

7、n):返回m的n次方;, round(m,n):返回舍入小数点右边n位的m的值。n的缺省值为0,返回小数点最接近的整数;如果n为负数,就舍入到小数点左边相应的位上。n必须是整数; sign(n):如果n为负数,返回-1;如果n为正数,返回1;如果n=0,返回0; sort(n):返回n的平方根,n为弧度; trunc(n,m):返回截尾到m位小数的n的值。m缺省设置为0,当m为缺省设置时,会将n截尾为整数;如果m为负值,就截尾在小数点左边相应的位上。,2日期函数 ADD_MONTHS(d,n):用于从一个日期值增加或减少一些月份; LAST_DAY(d):返回包含了日期参数的月份的最后一天的日

8、期; MONTHS_BETWEEN(d1, d2):判断两个日期之间的月份数量; NEXT_DAY(d, char):给定一个日期值,返回由第二个参数指出的日子在给定日期第一次出现的日期值(应返回相应日子的名称字符串); Sysdate:取系统的当前时间。,3字符函数 Ltrim/Rtrim:将字符串左右所含的空格删除。Ltrim是消左边的空格,Rtrim是消右边的空格(该函数对于字段的数据类型为char的很有效); Length:求一个字符串的长度; Lower:将字符串变为小写; Upper:将字符串变为大写; Initcap:除第一个字母大写外,其余小写; Concat(char1, c

9、har2):返回char1与char2的连接。,4转换函数 To_date(char_v,date_format):将字符串转换为日期格式; To_char:将数值转换成字符; To_char(date_v,date_format):将日期按你指定的方式转换成字符串; To_number:将字符串转换为数值。,5常用组函数 REPLACE(char,search_string,replacement_string):字符串替换; Count (*|DISTINCT|ALL ): 求总数, 返回查询中行的数目。 缺省设置是ALL,*表示返回所有的行; Sum (DISTINCT|ALL):返回选

10、择列表项目的数值的总和; Avg(DISTINCT|ALL):返回数值的平均值。缺省设置为ALL;, Max(DISTINCT|ALL):返回选择列表项目的最大值。如果x是字符串数据类型,则返回一个VARCHAR2数据类型;如果x是一个DATA数据类型,则返回一个日期;如果x是numeric数据类型,则返回一个数字。注意:DISTINCT和ALL不起作用,因为最大值与这两种设置是相同的; Min(DISTINCT|ALL):返回选择列表项目的最小值。,6.1.5 数据库操纵语言命令 数据库操纵语言(DML)命令用于查询和操纵模式对象中的数据,它不隐式地提交当前事务。它包含UPDATE、INSE

11、RT、DELETE、SELECT事务提交及回滚等命令。下面简单介绍一下。,1UPDATE命令 UPDATE tablename SET column1=expression1,column2=expression2, WHERE conditions; 例如: SQLUPDATE EMP SET JOB =MANAGER WHERE ENAME=MAPTIN; SQL SELECT * FROM EMP;,UPDATE子句指明了要修改的数据库EMP,并用WHERE子句限制了只对名字(ENAME)为MARTIN的职工的数据进行修改;SET子句则说明修改的方式,即把MAPTIN的工作名称(JOB)

12、改为MANAGER。,2INSERT命令 INSERT INTO tablename column1,column2, VALUES expression1,expression2,; 例如: SQLINSERT INTO DEPT(DNAME, DEPTNO) VALUES (ACCOUNTING,10),3DELETE命令 DELETE FROM tablename WHERE conditions; 例如: SQLDELETE FROM EMP WHERE EMPNO = 7654; DELETE命令用来删除一条记录,且只能删除整行,而不能删除某行中的部分数据。,4. 事务控制命令 提交

13、命令(COMMIT):可以使数据库的修改自动提交以实现永久保存。设置AUTOCOMMIT为允许状态:SQL SET AUTOCOMMIT ON; 回滚命令(ROLLBACK):消除上一个COMMIT命令后所做的全部修改,使得数据库的内容恢复到上一个COMMIT执行后的状态,使用方法是: SQLROLLBACK;,6.1.6 创建表、视图、索引、同义词、用户 1数据表 创建表主要是指定义下列信息: 列定义; 完整性约束; 表所在表的空间; 存储特性; 可选择的聚集; 从一查询获得数据。,语法如下: CREATE TABLE tablename (column1 datatype DEFAULT

14、expression constraint, column1 datatype DEFAULT expression constraint, ) STORAGE子句 例如: SQLCREATE TABLE NEW_DEPT (DPTNO NUMBER(2), DNAME CHAR(6), LOC CHAR(13);,更改表有如下作用: 增加列; 增加完整性约束; 重新定义列(数据类型、长度、缺省值); 修改存储参数或其它参数; 使能、使不能或删除一完整性约束或触发器; 显式地分配一个范围。,2视图 视图是一个逻辑表,它允许操作者从其它表或视图存取数据,视图本身不包含数据。视图所基于的表称为基表

15、。 引入视图有下列作用: 提供附加的表安全级,限制存取基表的行或列集合。 隐藏数据复杂性。 为数据提供另一种观点。 促使Oracle的某些操作在包含视图的数据库上执行,而不在另一个数据库上执行。,3索引 索引是一种数据库对象。表中的索引有助于更快地获得所需的数据。因为索引是源表子集的一个很小的副体,所以使用索引比源表更快。在下列情况时,Oracle可利用索引改进性能: 按指定的索引列的值查找行。 按索引列的顺序存取表。,建立索引: CREATE UNIQUE INDEX indexname ON tablename(column,); 例如: SQLCREATE INDEX IC_EMP ON

16、 CLUSTER EMPLOYEE,4同义词 同义词为表、视图、序列、存储函数、包、快照或其它同义词的另一个名字。使用同义词是为了数据的安全和操作方便。对一对象建立同义词有下列好处: 引用对象无需指出对象的持有者。 引用对象无需指出它所位于的数据库。 为对象提供另一个名字。,建立同义词: CREATE SYNONYM symnon_name FOR username.tablename; 例如: CREATE PUBLIC SYNONYM EMP FOR SCOTT.EMP SALES,5用户 Oracle是多用户系统,它允许用户共享资源。Oracle用户管理的主要内容包括用户的建立、修改和删除。本文只介绍

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

当前位置:首页 > 高等教育 > 大学课件

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