数据库知识整理Oracle

SQL简介
数据操纵语言DML 包括 INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令、 SELECT … FOR UPDATE(查询)等。
数据定义语言DDL  包括 CREATE(创建)命令、ALTER(修改)命令、 DROP(删除)命令等。
数据查询语言DQL   包括基本查询语句、Order By 子句、 Group By 子句等。
数据控制语言DCL    GRANT(授权)命令、 REVOKE(撤销)命令。
事务控制语言TCL    包括 COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。


Oracle数据类型
char(length)              定长字符串
varchar2(length)       可变字符串,length指定最大长度,默认为1
number(p,s)               存储数字,可以是浮点数,也可以是整数。p指数字最大位数,s指小数位数
date                            存储时间和日期
timestamp                  存储时间日期,包括时区
clob                            存储大的文本,比如xml文档
blob                            存储二进制对象,如图形,视频,声音等


集合运算
集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:
? INTERSECT(交集), 返回两个查询共有的记录。
? UNION ALL(并集),返回各个查询的所有记录,包括重复记录。
? UNION(并集),返回各个查询的所有记录,不包括重复记录。
? MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩
余的记录。


连接查询
内连接
外连接
(+): Oracle 专用的联接符,在条件中出现在左边指右外联接,出现在右边指左外联接。


Oracle常用函数
字符函数
ASCII(x)                             返回字符 x 的 ASCII 码。
CONCAT(x,y)                      连接字符串 x 和 y。
INSTR(x, str [,start] [,n)     在 x 中查找 str,可以指定从 start 开始,也可以指定从第 n 次开始。
LENGTH(x)                          返回 x 的长度。
LOWER(x)                           x 转换为小写。
UPPER(x)                            x 转换为大写。
LTRIM(x[,trim_str])             把 x 的左边截去 trim_str 字符串,缺省截去空格。
RTRIM(x[,trim_str])             把 x 的右边截去 trim_str 字符串,缺省截去空格。
TRIM([trim_str FROM] x)     把 x 的两边截去 trim_str 字符串,缺省截去空格。
REPLACE(x,old,new)           在 x 中查找 old,并替换为 new。
SUBSTR(x,start[,length])    返回 x 的字串,从 staart 处开始,截取 length 个字符,缺省 length,默认                              到结尾。
数字函数
ABS(x)                x 绝对值                  ABS(-3)=3
ACOS(x)             x 的反余弦                ACOS(1)=0
COS(x)               余弦                      COS(1)=1.57079633
CEIL(x)              大于或等于 x 的最小值     CEIL(5.4)=6
FLOOR(x)           小于或等于 x 的最大值      FLOOR(5.8)=5
LOG(x,y)             x 为底 y 的对数           LOG(2,4)=2
MOD(x,y)             x 除以 y 的余数           MOD(8,3)=2
POWER(x,y)        x 的 y 次幂               POWER(2,3)=8
ROUND(x[,y])      x 在第 y 位四舍五入       ROUND(3.456,2)=3.46
SQRT(x)              x 的平方根                SQRT(4)=2
TRUNC(x[,y])       x 在第 y 位截断           TRUNC(3.456,2)=3.45
转换函数
to_char
to_date
to_number
日期函数
其他单行函数
. NVL(x,value)
如果 x 为空,返回 value,否则返回 x。
NVL2(x,value1,value2)
如果 x 非空,返回 value1,否则返回 value2。
聚合函数
AVG 平均值 AVG(表达式)
SUM 求和 SUM(表达式)
MIN、 MAX 最小值、最大值 MIN(表达式)、 MAX(表达式)
COUNT 数据统计 COUNT(表达式)




Oracle数据对象
? 同义词:就是给数据库对象一个别名。
? 序列: Oracle 中实现增长的对象。
? 视图:预定义的查询,作为表一样的查询使用,是一张虚拟表。
? 索引:对数据库表中的某些列进行排序,便于提高查询效率。


1. 向表中添加新的字段
   alter  table  table_name  add  column_name  varchar2(20) not null
2. 删除表中的一个字段
    delete table table_name column column_name
    alter table table_name drop column 
3. 修改表中的一个字段名
   alter table table_name rename column oldname to newname






排序 order by
默认升序 降序 order by xx desc


分类查询 group by


having 条件查询 在group by 之后 order by之前




update qijun_class t
set t.sushe="2206"
where name="huchengyi"




将一个表中的数据插入到另一个表中
sert   into   hh   (fielda,fieldb,fieldc)   select   fieldx,fieldy,fieldz   from   mm


声名:a,b ,都是表


--b表存在(两表结构一样)
insert into b select * from a


若两表只是有部分(字段)相同,则


insert into b(col1,col2,col3,col4,...) select col1,col2,col3,col4,... from a where...


把表a插入到表b中去。


--b表不存在
select * into b from a


//


select (字段1,字段2,...) into b from a






分页查询:
select rn,name
from(select rownum rn,name from qijun_class)
where rn between 5 and 10;




Oracle存储过程
CREATE OR REPLACE PROCEDURE 存储过程名 
IS 
BEGIN 
NULL; 
END;


create or replace procedure huchengyi(v_name in varchar2,pro_return out number)
is
       name varchar2(10);
       sex varchar2(10);
       age varchar2(10);
begin


insert into qijun_huchengyi(name,age) values('虎虎','18');
commit;
pro_return :=0;
end;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值