oracle数据库基础知识总结(一)

一、oracle基本常用的数据类型

varchar(长度) 字符串
char(长度) 字符
number(x,y) x表示总位数 y表示保留小数点后几位数 eg面试题:number(5,3)最大的数是99.999
decimal() 数字
long int integer 整数
date 日期
timestamp 日期
clob blob 特殊文本 二进制

二、DLL操作
create
创建表的前提是:1、具备创建表的条件 2、有可用的存储空间
创建表的语法是:
create table 表名 (column1 数据类型,column2 数据类型……);

drop table 表名;
表中的所有数据都将删除、此前未完成的事务都将被提交、所有相关的索引被删除、DLL语句,一经执行,不可撤销。

alter
对表添加字段
alter table 表名 add (column1 数据类型,column2 数据类型……);
对表删除字段
alter table 表名 drop (column1,column2……);
对表现有字段进行修改
alter table 表名 modify (column1 数据类型,column2 数据类型……);

truncate table 表名;
清空表中所有记录、释放表空间、DLL语句,一经执行,不可撤销。

三、DML操作
select
select */column1,column2…… from 表名 where ……;

delete from 表名 where 条件……

update 表名 set column = ‘字段’where 条件……

insert into 表名 (column1,column2……)values (值1,值2……);

四、事务控制语言
commit rollback savepoint

五、数据控制语言
grant revoke


算术运算 + - * /

连接运算 ||  与concat类似

两者区别:||可以连接多个字符串  concat只能连接两个字符串。

 

别名 AS 关键字

空值 --无效值

去重 distinct

排序 order by  --永远存在sql语句的结尾。

分组 group by 

--当语句中出现group by分组语句时,select对应的列要么是group by分组列,要么是聚合函数列。

--对分组过后的数据进行二次过滤可以使用hiving关键字。

 --where 后面不能跟聚合函数列 

六、函数
字符函数

数值函数

日期函数

转换函数

通用函数

decode用法:

第一种用法:替换分组  

decode(column,'列中可能出现的值','肯定打印出的值','否定打印出的值')

eg:select tname,decode(tname,'小花','本科','中专') from s7 order by tname ;--解释decode函数中的意思:

tname列中出现‘小花’就打印本科,不是小花就打印中专

第二种用法:动态排序  

--要求 销售部拍第一位
select * from dept
order by decode(d_name,'产险系统开发部',1,'销售部',2,3);--解释d_name这一列如果是产险系统开发部就显示1,销售部就显示2,其他就显示3.

第三种用法 :行转列

select s_years ,
max(decode(s_months , '1季度',s_money)) as 一季度 ,
min(decode(s_months , '2季度',s_money)) as 二季度,
sum(decode(s_months , '3季度',s_money)) as 三季度,
avg(decode(s_months , '4季度',s_money)) as 四季度
from sales group by s_years ;

 

 

聚合函数

min(column)求列的最小值

max(column)求列的最大值

sum(column)求和

avg(column)求平均--计算时空值会被除外

count(column)统计有效数据的数量,空值null不会被统计在内。

后续继续更新……

posted on 2017-02-15 22:01  杰我天下  阅读(25744)  评论(0编辑  收藏  举报