51CTO下载-Oracle 11g学习笔记基础篇

上传人:野鹰 文档编号:2848744 上传时间:2017-07-28 格式:PDF 页数:75 大小:1.22MB
返回 下载 相关 举报
51CTO下载-Oracle 11g学习笔记基础篇_第1页
第1页 / 共75页
51CTO下载-Oracle 11g学习笔记基础篇_第2页
第2页 / 共75页
51CTO下载-Oracle 11g学习笔记基础篇_第3页
第3页 / 共75页
51CTO下载-Oracle 11g学习笔记基础篇_第4页
第4页 / 共75页
51CTO下载-Oracle 11g学习笔记基础篇_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《51CTO下载-Oracle 11g学习笔记基础篇》由会员分享,可在线阅读,更多相关《51CTO下载-Oracle 11g学习笔记基础篇(75页珍藏版)》请在金锄头文库上搜索。

1、SQL语句中不区分大小写,习惯性把关键字用大写表示,其他用小写。在 Oracle里字符串数组小标都是从 1开始。在 SQL *PLUS中必须用“ ;”结束语句,也可以用“ /”,否则只会当作换行。null值表示未知状态,但不代表 0或者空。当 null跟算术表达式一起就等于 null。当 null与逻辑运算表达式一起就等于空。语句类型DML: INSERT,UPDATE,DELETEDDL: 对表的管理操作DCL:设置数据库用户,权限等主要数据类型CHARACTER类型CHARVARCHAR2LONGNUMBER类型NUMBER(p,s) p代表数的模型(有没有小数点之类), s代表位数DAT

2、E类型RAW类型和 LONG RAW类型用于存储二进制数据LOB类型CLOB 超级 long字符集,最长达到 4GBLOB 二进制字符集,最长达到 4GBFILE 指针,指向多媒体文件ROWID 基于 64位操作系统设定每个表的都有一列作标记每一行数据库的对象:Table 表View 视图(一般只读),存储查询语句,现用现查Sequence 序列Index 索引Synonym 别名Procedure 存储过程Trigger触发器数据库命名规范1.必须以字母开头2.最大长度 30字符3.只能按有 A-Z,a-z, 0-9,_,$和 #(通常不用 $和 #)4.相同类型的数据名称不能重复5不能包含

3、 oracle的关键字基本语法2011年8月16日下午 01:18基础 第 1 頁 4.相同类型的数据名称不能重复5不能包含 oracle的关键字数据定义命令CREATE命令ALTER命令DROP命令TRUNCATE命令数据操纵命令INSERTSELECTUPDATEDELETE事务处理和数据控制命令事务处理控制命令COMMITSAVEPOINTROLLBACK数据控制语言GRANTRREVOKE语句优先级从高到低:SELECT FROM WHERE GROUP BY 组合函数 HAVING ORDER BYWHERE,GROUP BY,HAVING语句中都不能使用别名select语法SELE

4、CT * FROM Table创建现有表的副本CREATE table AS SELECT column_name from 插入来自其他表达记录INSERT INTO (SELECT column_name from from table_name可以使用算术表达式 ,只有数字才能使用乘除法例如:Select last_name,salary,3*salary +300From employees在程序查询中为了提高速度通常不用 *,而是把表中所有的字段名罗列出来SQL *PLUS中的运算符算术运算符基础 第 2 頁 算术运算符用于执行数学计算, +, -,*,/比较运算符用于将一个表达式与

5、另一个表达式进行比较。 =,!=,=,IN,LIKE,IS NULL,BETWEEN,NOT BETWEENBETWEEN a(包含 a) AND b(包含 b)判断某值包含在一组集合里LIKE模糊查询LIKE % 代表多个字符_ 代表单个字符例如:查找以 S开头例如:查找第二字字母是 oSELECT last_nameFROM employeeWHERE last_name LIKE _o%如果查找字段本身包含 _或者 %,要用 _或者 %.(|_或 |%也可以)基础 第 3 頁 如果查找字段本身包含 _或者 %,要用 _或者 %.(|_或 |%也可以)判断字段中是否有 NULLSELECT

6、 last_name,managere_idFROM employeesWHERE manager_id IS NULL不含有 NULLSELECT last_name,managere_idFROM employeesWHERE manager_id IS NOT NULL逻辑运算符用于合并两个条件的结果以产生单个结果。 AND,OR,NOT。集合运算符用于合并两个独立查询结果。 UNION,UNION ALL,INTERSECT,MINUS连接运算符用于将两个或多个字符串并在一起。 |表示连接运算符。例如:SELECT last_name | job_id AS EmployeesFROM

7、 employee表达式优先级序号 表达式1 算术表达式2 链接表达式3 比较表达式4 IS NOT ,NULL,LIKE,NOT IN5 NOTBETWEEN基础 第 4 頁 6 不等于7 NOT8 AND9 ORWHERE语句条件判断SELECT * FROM tableWHERE department=90 (当使用了 WHERE就不能使用别名)用 WHERE使用查询字符串内容时,需要用 ,例如 WHERE hire_date = 17-FEB-96当不能确认查询内容的大小写可以用以下两种方法来进行查询1.WHERE UPPER(last_name) = WILL 将查询字段的内容全部转

8、换成大写再对比,其字段内容自身不发生改变2.WHERE LOWER(las_name) = will将查询字段的内容全部转换成小写再对比,其字段内容自身不发生改变Aliases列的别名保留别名的大小写或别名中含有其他非英文数字的符号,需要用双引号 包起来。例如:SELECT last_name AS nameFROM employee或者:SELECT last_name nameFROM employeeLiteral Charcter Strings字符串使用单引号 例如:SELECT last_name | is a |job_id AS Employee DeailsFROM empl

9、oyee Alternative Quote Operator 引用操作符如果要输出显示关键字或操作符的内容,需要用 q包起来,也可以用感叹号,要成对。例如:qs Manager Id: SELECT department_name | Department |FROM departments基础 第 5 頁 FROM departments显示不重复的列SELECT DISTINCT department_id,tv,vcFROM employeesDESCRIBE 显示数据表的基本结构(不是 Oracle的语句,是 SQL PLUS的命令 )不能显示主键,外键DESCRIBE tablen

10、ameORDER BY 排序语句(默认升序)可以使用别名。 ASC 升序, DESC 降序。 排序中升序时 NULL在最后,降序时 NULL在最前。可以用 NULL FIRST或者 NULL LAST修改 NULL的位置。例如:SELECT employee_id,last_name,salary*12 annsalFROM employeesORDER BY annsal按照第 3个字段排序,在这个例子中是按照 department_id排序SELECT last_name,job_id,department_id,hire_dateFROM employeesORDER BY 3按照两种方

11、式排序:例:按 departmen_id升序排列并且按 salary降序排列SELECT last_name,department_id,salaryFROM employeesORDER BY deparment_id,salary DESC基础 第 6 頁 Substitution Variables变量(客户端独有)&变量名,即使变量名相同,每次引用都是新的变量,也就是多次引用,类似形参&变量名,同一个变量可以多次使用若变量为字符串的时候必须用 ,如 &变量名 或者 &变量名 DEFINE定义常量,反之 UNDEFINEDEFINE employee_num = 200可以被同名变量直接

12、引用VERIFY指令查看变量改变情况SET VERIFY ON 显示变化, SET VERIFY OFF不显示变化GROUP BY分组用于将信息划分为较小的组,每一组返回针对每组的单个结果。 语句中不能使用别名 .ORDER BY只能在复合查询中使用一起,并且在最后才使用。语法SELECT colum,group_function(column)FROM tableWHERE conditionGROUP BY group_by_expressionORDER BY column例子:(进行两次分组)SELECT department_id dept_id,job_id,SUM(salary)

13、FROM employeesGROUP BY department_id,job_idORDER BY department_id注意: SELECT里面包含的字段如果不是计算函数,要写在 GROUP BY字句当中。基础 第 7 頁 HAVING语句条件判断用于指定针对行的某些条件,它限定组中的行。语句中不能使用别名语法:SELECT column,group_functionFROM tableWHERE conditionGROUP BY group_by_expressionHAVING group_conditionORDER BY columnROLLUPROLLUP(column_

14、name1,column_name2)结果集包含非分组行和小计行CUBECUBE(column_name1,column_name2,column_name3)产生交叉表格报表临时表只在用户会话期间存在的表。数据在用户事务处理期间持续存在,使用 CREAE GLOBAL TEMPORARY TABLE命令,不会自动获得空间,插入的值仅在此特定会话中可用。基础 第 8 頁 单行函数对每一行返回一个值,也成为标量函数,在 SELECT和 WHERE子句中使用Function_name*(arg1,arg2,.)+函数名称 结果LOWER(SQL Course) sql courseUPPER(SQ

15、L Course) SQL COURSEINITCAP(SQL Course) Sql Course字符函数函数名称 结果 解释CONCAT(Hello,World) HelloWorld 合并字符串SUBSTR(HelloWorld,1,5) Hello 从第1个字母开始抽5个字母LENGTH(HelloWorld) 10 求字符串的长度INSTR(HelloWorld,W) 6 查找首次出现 w的位置返回小标LPAD(salary,10,*) *24 右填充*使得字符串是10个字符RPAD(salary,10,*) 24000* 左填充*使得字符串是1 0个字符REPLACE(JACK and JUE,J,BL)BLACK and BLUE把字符串里的J替换成BLTRIM(H FROM HelloWorld) ehlloWorld 去掉H和空格数字函数函数名称 结果 解释ROUND(45.925,2) 45.93 保留小数点后 2位TRUNC(45.926,2) 45.92 保留 2位有效数字MOD(1600,300) 100 求余数基本函数2011年8月17日上午 10:41基础 第 9 頁 日期函数(查看当前日期)SELECT sysdateFROM dual例子:计算员工在公司呆了多少周SELECT last_name,

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

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

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