Oracle使用手册--精选文档

上传人:新** 文档编号:470207141 上传时间:2023-05-30 格式:DOC 页数:11 大小:73KB
返回 下载 相关 举报
Oracle使用手册--精选文档_第1页
第1页 / 共11页
Oracle使用手册--精选文档_第2页
第2页 / 共11页
Oracle使用手册--精选文档_第3页
第3页 / 共11页
Oracle使用手册--精选文档_第4页
第4页 / 共11页
Oracle使用手册--精选文档_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Oracle使用手册--精选文档》由会员分享,可在线阅读,更多相关《Oracle使用手册--精选文档(11页珍藏版)》请在金锄头文库上搜索。

1、 基本介绍1. 列左对齐,字符右对齐。2. 包含空值的数学表达式的值都为空值3. DESCRIBE +表明用在MANAGE中用来描述表结构。SELECT 语句详解ORACLE 中一个语句里面包含多个操作,这些操作并不是顺序执行的,因此,我们可以将Oracle语句拆分,逐步分析它的执行构成。下面以SELECT语句为例。表1SELECT 列名FROM 表名INTO 变量JOIN 表名ON 条件WHERE 条件表2GROUP BY 列名HAVINGORDER BY 列名SELECT 语句由于执行顺序不同,因此对数据的处理方式不同。我们可以把他们分为单行操作符,多行操作符,表操作符。(不知道怎么称呼,

2、姑且这么叫。)表一中除了SELECT外的所有函数都是单行操作符,因此后面必须和单行数据使用。表二中的函数+select是多行操作符,因此可以和单行数据,多行数据和分组函数一块儿使用。ORDER BY 是对整个表进行操作,因此可以称为表操作符。 因此WHERE 后面不能加分组函数,多行数值。由于SELECT 语句在执行过中有先后顺序,而且每一个函数都有相应的格式,因此SELECT 语句在写法上有一些要求。如上表,在SELECT 语句中,子查询的优先级别最高因此,先调用子查询,子查询的执行顺序与一般查询一样,但是子查询的返回值被不同函数调用时,应根据函数要求返回不同的值。如在WHERE 语句中返回

3、单行值,如果有多行,用ANY, ALL函数一一拆分。1SELECT与句中先执行子查询,2 在SELECT 语句顺序执行2.1 GROUP BY ,2.2HAVING和2.3分组函数将原表内容进行分区,浓缩。由于使用的是原表,因此可以调用新表中没有出现的列。GROUP BY DEPTNO HAVING AVG(SAL)1000,是先按DEPTNO分组,再选择条件,条件中执行分组函数,因此HAVING 中可以有分组函数3执行SELECT语句,先执行3.1 join on WHERE逐条连接,进行条件删选,因此ON与WHERE 的条件可以互换位置。这样将两个表连接成一个表。同样是调用原表,因此可以调

4、用新表中没有出现的列。然后执行SELECT然后执行表函数ORDER BY 将表排序。(最后将单行数据赋值:into。)ORACLE单词及出处调试权限:GRANT DEBUG CONNECT SESSION TO SCOTT;DDL 数据定义语句 用来定义数据库对象(SESSION 会话, TABLE,VIEW,SEQUENCE,INDEX,PROCEDUE, SYNONYMUSER)的语句。包含CREATE, ALTER, DROP, COMMENT,TRUNCATE.直接提交,不可回滚,在pl/sql块中要用动态SQL :EXECUTE IMMEDIATE表示。如EXECUTE IMMEDI

5、ATE CREATE TABLE bonus1 (id NUMBER, amt NUMBER);, CREATE 创建 对数据库的对象创建表和视图 TABLE, VIEWCREATE TABEL CREATE OR REPLACE VIEW 表名( 列名 数据类型 DEFAULT 值 constraint 名字 约束类型, CONSTRAINT 名字 约束类型(类名);用户 USERCREATE USER IDENTIFIED BY PASSWORDS;序列 SEQUENCE CREATE SEQUENCE 序名 INCREMENT BY 跳跃值 START WITH 初始值 MAXVALUE

6、 最大值 NOCACHE/CACHE 存入内存数 NOCYCLE/CYCLE 是否循环索引 INDEXCREATE INDEX ON 表名(列名,可以多列)过程 PROCEDUECREATE PROCEDUE 过程名(参数)*参数在定义时不能指定长度。IS AS 定义内容;BEGIN 执行块;END;同义词 SYNONYMCREATE SYNONYM FOR 对象名。 ALTER 修改对数据库的对象进行修改,包括增加列,删除列,改名列,修改类中的数据类型。ALTER TABLE 表名 ADDDROPRENAMEMODIFY COLUMN;ALTER 也可以对用户进行修改ALTER USER I

7、DENTIFIED BY NEW PASSWORD;FUNCTION 函数。单行函数 只对表的一行数据进行数据操纵,返回一个值的语句字符函数 UPPER/ LOWER/ INT(ION)CAP(字符串)CONCAT(字符A,字符B)等价于 字符A|字符 B :连接SUBSTR (CHAR A,NUM M,NUM N) : 截取 B如果不写默认为 返回从A中截取索引从M到N的字符串 * 在ORACLE中索引从1开始,且前后都是闭区间。LENGTH (字符串 A)返回字符串 A的长度INSTR(CHAR A,CHAR B ,NUM M,NUM N)后面两个默认为1。 返回从 A中从左边第M个字符开

8、始索引B字符在A中出现的第N次的索引。LPAD | RPAD 左|右填充 (CHAR A,NUM M,CHAR B)返回:填充了M长度字符,长度不足则用B补充,长度长了截取。TRIM (CHAR A FROM CHAR B)|(字符:表示修剪空格):修剪 TRIM 从两端开始连续修剪B直到下个不是A。 RTRIM(CHAR A,CHAR B) 从右边连续修剪A直到下个不是B,不写默认是空格。单个字符有效 LTRIM(CHAR A,CHAR B)从左边连续修剪A直到下个不是B,不写默认是空格。单个字符有效REPLACE(CHAR A,CHAR B,CHRA C):在A中将B替换成C *全部替换T

9、RANSLATE (CHAR A,CHAR B,CHRA C) :变换将A的B每一个字符换成相应的C的索引相同的字符,C如果没有相应的,用NULL代替。数字函数ROUND (数字M,整数N) :将M在小数点后N位处四舍五入TRUNC (数字M,整数N) :将M在小数点后N位处截短N=小数点后第几位,如果N是复数,代表小数点左边相应的位数。Mod 取模(除数,被除数) 与java中的%一样,返回值的符号与除数保持一至。CEIL (数字M) :取比M大的最小整数FLOOR(数字M):取比M小的最大整数ABS(数字M) :取M的绝对值SIN(数字M) :取M的余弦;COS(数字M) :取M的余弦;P

10、OWER(数字M,数字N): 返回M的N次方。SQRT(数字M) 返回M的开方。SIGN(数字M) 返回M的符号,正数返回1,复数返回-1,0返回0。CASE WHEN A THEN B ELSE CEND CASE;选择。DECODE(A,B,CD,EF)选择。*DUAL 伪表。在验证函数时可以使用伪表。SELECT ROUND(4.3,1) FROM DUAL;DATE 日期日期函数DATE A-DATE B =A与B相差的天数。浮点型MONTHS_BETWEEN(DATE A,DATE B) A与B 相差的月份。返回浮点型整数。ADD_MONTHS(DATE A,NUM M) 往日期A

11、中添加M个月份,返回新日期。NEXT_DAY(DATE A,DAY/DY/1.7)返回下个周几,可用1234567代表星期的第几天。中文ORACLE 中用星期X来代替DAY/DD;因此不能用DAY/DD;LAST_DAY(DATE A) 返回A 所在月的最后一天的日期;ROUND(DATE A,FIELD B) 返回A在B出的四舍五入后的日期。FIELD 默认是DDTRUNC(DATE A,FIELD B) 返回A在B出的截断后的日期。FIELD 默认是DD数据类型转化函数NUMBER 可以自动转化成字符串。TO_NUMBER(CHAR R)将R转化成数字,R必须是纯数字型,不能有空格TO_C

12、HAR(NUMBER,格式)格式中用0代表0.9(一定会显示),9代表数值(0在开头或者末尾不显示),可用美元符号$,用L代表当地货币符号TO_CHAR(DATE,格式,nls_date_language=AMERICAN)可以选择语言。SELECT TO_CHAR( 123.5,L0000.00)FROM DUAL; ¥0123.50TO_DATE(CHAR A,格式)日期格式 默认格式是 DD-MON-RR,一般自定义格式,不用默认的。YYYY代表四位数年份 ;YY代表后两个年份数;YEAR代表年份的英文拼写。1945=1945; 1945=45; 1945= NINETEEN FORTY

13、-FIVEMM 代表月份数; MON 代表英文月份前三个字母;MONTH代表英文中月份09=09; 09=9月(中文版)=SEP 09=9月(中文版)=SEPTEMBERDD代表天数; DY 代表英文周的前三个字母;DAY代表英文09=09; 09=MON; 09=MONDAYHH代表小时后面可以加24表示24小时制;MI代表分钟;SS代表秒.*用FM可以去掉日期前面的0;* 时间格式对大小写不敏感(MM和MI区分),在使用时必须放到中;*“”可以让oracle强制略过不和给定的字符,因此可以用YYYY”ANY ”DD”ANY”MM来表示时间空值转化函数 属于单行函数NVL(A,B)如果A 为

14、空输出B,否则输出ANVL2(A,B,C) 如果A 为空输出B,否则输出CNVLIF(A,BF)连续判断,直到输出非空。全为空还是输出空分组函数 将数行数值浓缩成一行数值输出,忽略空值。如果空值必须作为一列就必须用到去空函数。AVG(列名) 返回该列的平均值。MAX(列名) :返回该列最大值。MIN(列名);返回该列最小值COUNT(列名) : 该列的数量SUM(列名): 返回该列的总和GROUP BY(列,列。)HAVING 条件;*HAVING 中能使用组函数。因为GROUP BY 是对整个表的操纵,因此可以用分组函数。*WHERE 中不能使用组函数,SELECT WHERE 操纵单行数据,因此不能使用分组函数。*分组函数将数行数据浓缩成一行,因此如果存在分组函数,选出的类必须都浓缩,因此没有组函数的列必须出现在group by语句中。表函数对整个表的数据DISTINCT.连接笛卡尔连接,等值连接,非等值连接,自连接,外连接(左连接,右连接,FULL连接)等值连接也可以用 表A JOIN 表B USING (列),列

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

最新文档


当前位置:首页 > 资格认证/考试 > 人力资源管理师

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