一、语言的分类
1、
DDL(Data Definition Language 数据定义语言)
* CREATE(创建)
CREATE TABLE、CREATE INDEX
* ALTER(更改)
ALTER TABLE、ALTER PROCEDURE
* DROP(删除)
DROP TABLE、DROP INDEX
2、
DML(Data Manipulation Language 数据操作语言)
* SELECT(检索数据行)
* UPDATE(更改表数据)
* DELETE(删除表中数据行)
* INSERT(增加表中数据行)
3、
DCL(Data Control Language 数据控制语言)
* GRANT(将权限/角色赋予用户或其他角色)
将表(TABLE_NAME)的查询权限赋予用户(USER_NAME)
GRANT SELECT ON TABLE_NAME TO USER_NAME
* REVOKE(从用户或数据库角色回收权限)
REVOKE SELECT ON TABLE_NAME FROM USER_NAME
二、常用的系统函数
在下面会出现DUAL表,这个表是指当没有目标表的时候,通常用在SELECT语句中,它是 Oracle中的一个实际存在的表,任何用户都可以读取
1、字符函数
*
LENGTH() 返回字符长度 包括空格
SELECT LENGTH('ABCDE') FROM DUAL; 结果:5
*
LENGTHB() 返回字节长度 包括空格
SELECT LENGTHB('ABCDE汉') FROM DUAL; 结果:7
*
LTRIM() 去掉字符左边空格
SELECT LTRIM(' ABCDE') FROM DUAL;
SELECT LENGTH(LTRIM(' ABCDE')) FROM DUAL;
*
RTRIM() 去掉字符右边空格
SELECT RTRIM('ABCDE ') FROM DUAL;
*
TRIM() 去掉字符左右空格
SELECT TRIM(' ABCDE ') FROM DUAL;
*
SUBSTR(str,index,len) 截取字符串,从下标index开始,截取长度为len的字符串.
当下标取0或1的时候,结果一致
SELECT SUBSTR('ABCD',2,3) FROM DUAL; 结果:BCD
*
SUBSTR(str,index) 和上面的函数差一个参数,但意义完全不同
当index为正数时 从下标index开始截取,直到字符结尾为止
SELECT SUBSTR('ABCD',2) FROM DUAL; 结果:BCD
当index为负数时 从字符结尾开始,向字符起始位置截取index个字符
SELECT SUBSTR('ABCD',-2) FROM DUAL;结果: CD
*
REPLACE(str,old-str,new-str) 替换字符串中的字符
SELECT REPLACE('ABCDE','AB','汉字') FROM DUAL; 结果:汉字CDE
2、日期函数
(1)
SYSDATE
SELECT SYSDATE FROM DUAL;
(2)
CURRENT_DATE
SELECT CURRENT_DATE FROM DUAL;
(3)
NEXT_DAY(date,week) 返回指定日期date的下一个周几,如果今天为周二,week指定为星期三,那么结果是第二天的日期;如果week指定为周二之前的日期,如周一,那么结果为下周的日期
SELECT NEXT_DAY(SYSDATE,'星期二') FROM DUAL;
PS:如果想对显示的日期进行格式化,进行下面操作:
ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY HH:MI:SS';(在oracle中MI表示分钟)
当退出会话,这种格式化会自动消失
3、转换函数
(1)
TO_CHAR(expression,format) 将对应的表达式转换成格式化的字符
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(10,99.99) FROM DUAL;
(2)
TO_DATE(str,format) 将字符串转换成格式化的日期
SELECT TO_DATE('20091211','YYYYMMDD') FROM DUAL;
(3)
TO_NUMBER(str,format) 将字符串转换成相应的数字
SELECT TO_NUMBER('1400','9999.99') FROM DUAL;
4、聚集函数
(1)
MAX(expression) 返回最大值
SELECT MAX(SAL) FROM EMP;//返回EMP表中字段SAL所有值中的最大值
(2)
MIN(expression) 返回最小值
SELECT MIN(SAL) FROM EMP;//返回EMP表中字段SAL所有值中的最小值
(3)
AVG(expression) 返回平均值
SELECT AVG(SAL) FROM EMP;//返回EMP表中字段SAL所有值的平均值
(4)
COUNT(expression) 返回个数
SELECT COUNT(*) FROM EMP;//返回EMP表中的行数
(5)
SUM(expression) 返回所有非空数值的综合
SELECT SUM(SAL) FROM EMP;//返回EMP表中字段SAL中所有值的和
5、其他函数
(1)
NVL(expression,replacevalue) 如果表达式为空,则返回replacevalue
SELECT A1,NVL(A2,'空值') FROM TAB_NAME;
(2)
DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
含义如下:
IF 条件=值1 THEN RETURN(翻译值1)
ELSIF 条件=值2 THEN RETURN(翻译值2)
......
ELSIF 条件=值n THEN RETURN(翻译值n)
ELSE RETURN(缺省值)
END IF
/** 判断表DEPT中字段LOC,如果值为NEW YORK,则返回纽约,反之则返回不是纽约,DECODE后跟的是不是纽约是为了显示结果时更加清晰而加的注释 */
SELECT DECODE(LOC,'NEW YORK','纽约','不是纽约')是不是纽约 FROM DEPT;
三、常用的语句
1、GROUP BY 子句
主要作用是汇总信息,使用分组函数将多组数据集合在一起
SELECT JOB,SUM(SAL)工资 FROM EMP GROUP BY JOB;
PS:当使用GROUP BY语句时,SELECT后的字段,必须出现在GROUP BY后面,除非它是以分组函数的形式存在。就像上面语句中SAL字段就是以分组函数的形式出现的。
举个例子:
SELECT ENAME,JOB, SUM(SAL)工资 FROM EMP GROUP BY JOB;
结果:第 1 行出现错误:ORA-00979: 不是 GROUP BY 表达式
如果想要避免这个错误,有两种方法:
(1) SELECT COUNT(ENAME),JOB, SUM(SAL)工资 FROM EMP GROUP BY JOB;
(2) SELECT ENAME,JOB, SUM(SAL)工资 FROM EMP GROUP BY ENAME,JOB;
分享到:
相关推荐
在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,《成功之路:Oracle 11g学习笔记》重点介绍SQL语句调优。SQL语句调优是《成功之路:Oracle...
│ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT...
Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...
《成功之路Oracle11g学习笔记》是一本专为初学者设计的Oracle数据库学习资源,旨在帮助读者系统地掌握Oracle11g的基础知识。Oracle11g是Oracle公司推出的一个重要版本,它提供了许多增强的功能和优化,使得数据库...
这篇学习笔记将带你深入理解Oracle11g的核心概念和技术,帮助你踏上数据库管理的成功之路。 首先,Oracle11g的基础部分涵盖了数据库安装、配置与管理。在安装过程中,你需要了解如何选择合适的安装选项,如企业版或...
成功之路 Oracle 11g 中文学习笔记 专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发的一些技巧。开发技巧展示是本书一大特色(这一点很值得资深的开发人员借鉴)! 本书共24...
本学习笔记以第17章构筑高速运行的SQL语句为例,详细探讨了Oracle数据库性能调整的相关知识点。 首先,需要明确数据库性能调整的概念和范围。数据库性能调整是通过一系列的方法和技术,改善数据库运行效率和响应...
ORACLE10G学习笔记 包括基础知识 SQl基本语句 安全备份与恢复
《韩顺平j2ee-玩转oracle10g学习笔记》是一份全面记录了韩顺平老师关于Oracle 10g数据库系统教学内容的文档。Oracle 10g是Oracle公司推出的一个重要版本,它在数据库管理、性能优化、安全性、可扩展性和灾难恢复等...
本学习笔记详细记录了作者在准备Oracle 11g OCP认证过程中的学习心得和实践经验,对于希望深入理解Oracle数据库管理和优化的读者来说,是一份宝贵的资料。 Oracle 11g包含了许多重要的特性和改进,例如: 1. **...
这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款强大、高性能的数据库解决方案。其主要特点包括: 1. **分布式数据库**:Oracle支持多节点的...
本学习笔记将深入探讨Oracle 11g的关键特性和技术,帮助读者掌握其核心知识。 一、Oracle 11g概述 Oracle 11g是Oracle公司推出的数据库版本,主要特点是提升了性能、可用性和安全性。它提供了众多新功能,如自动...
本知识点主要整理了Oracle10g学习笔记,涉及登录操作、常用命令、SQL语言基础、数据表的创建和管理、用户权限操作等方面。 首先,介绍如何登录Oracle数据库。登录的方法多样,可以使用sqlplus工具,通过不同格式的...
在学习Oracle 11g的过程中,了解并掌握其基本概念、安装、用户管理、权限和角色、数据对象以及管理工具的使用至关重要。 首先,安装过程虽然在此略过,但在实际操作中,Oracle 11g的安装包括下载安装包、配置环境...
电子工业出版社。一本书轻松学会ORACLE 11g。高效的SQL语句,大神实用笔记,拿来就可以做项目
精通Oracle SQL【第2版】ORACLE SQL高级编程【第二版】学习笔记
### Oracle 10g 学习笔记:深入理解与配置要点 #### 一、Oracle 10g系统架构与配置参数 Oracle 10g作为一款成熟的关系型数据库管理系统,其内部架构主要由共享内存区域(SGA)和程序全局区(PGA)组成。在学习与...
总结,"最牛逼的Oracle 11g OCP学习笔记"涵盖了Oracle数据库的各个方面,从基础到高级,从理论到实践,为成为合格的Oracle数据库管理员提供了全面的学习路径。通过深入学习和实践,不仅可以获取OCP认证,还能在实际...