1.编辑命令(文本文件)
edit 路径/文件名
编辑缓冲区中的命令. edit
执行缓冲区中的命令:/(run)
执行脚本:@ 文件名 start 文件名
缓冲区中的命令只有一条。
2。数据类型:(plsql编程中增加:boolean)
字符型:
char(len)---len就是此变量的长度,默认支持2000个字节。
varchar2(len) --变量的长度,默认支持4000个字节。
数字型:
number---默认支持38位数 (binary_integer)
number(len,sec)---len 指数字的长度,sec是小数的最大位数。number(8,2) 长度为8个数字,其中最多只能是2个小数位。
日期时间类型:
date --"dd-mm-yyyy"存储格式,显示格式:‘dd-mm-yy' sysdate. (mysql---currdate)
timestamp --时间戳 显示完整的日期时间类型。精确到毫秒。 systimestamp(mysql---current_timestamp)
大对象:
clob --字符类型的大对象 文本内容
blob --二进制类型的大对象。图片,声音,视频
bfile --存放大对象的指针。存放的指针对应的文件内容放到磁盘上,数据库中只存放其文件的指针。
内置函数(单行函数):操作每个对象都产生相应的一个结果。
字符型函数: lower,upper,length,substr,nvl,
数字型: round,floor,ceil,
日期型: round,trunc,add_months,months_between,+,-天数,last_day
转换函数: to_char,to_date,to_number
聚合函数(分组函数):count,max,min,avg,sum
查询语句中出现分组函数,并且有查询字段时,这些字段要出现在group by 。
分析函数: row_number,rank,dense_rank。
select row_number() over(order by sal desc) rownumber,rank() over(order by sal desc) rank,dense_rank() over(order by sal desc) denserank,e.sal,e.empno,e.ename
from emp e
3.伪列:
rowid ---磁盘上的存储地址,真实存在。不属于表的一部分。
rownum --指查询结果集中的序号。
4.查询语句:
基本查询:
select [distinct] *
from 表名
where 条件限制
group by 分组字段 having 分组条件限制
order by 排序字段[asc|desc];
子查询:
查询的条件为求知,要先做查询。
连接查询:
内连接:查询连接表和主表之间所有符合连接条件的记录
外连接:
左外:left join 以主表记录为主,显示所有主表中的记录
右外:right join 以从表记录为主,显示所有从表中的记录。
全外:full join 以主表,从表记录为主,全部显示。
自连接: 主表,从表都是一张表,只是以别名来区分。
交叉连接:cross join ,无连接条件。
结果集的操作 :
union: 结果相加,相同的记录只取一份
union all:结果集相加,不管记录是否相同
intersect:取交集
minus: 相减。
聚合函数的嵌套:
查询的子句只能且只能有一个嵌套。
sql92查询语法:
select *
from 主表 别名,从表 别名
where 连接条件 and 限制条件;
连接条件设置:
内连接:连接条件就是 on...;
左外: 连接条件就是:主表.主表字段=从表.从表字段(+)
右外:连接条件就是:主表.主表字段(+)=从表.从表字段
交叉:没有where.
oracle学习笔记一
猜你喜欢
转载自cwmdream.iteye.com/blog/1857715
今日推荐
周排行