一、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不会被统计在内。
.