sql点滴


1.4种常用数据类型
describe table_name;
number(p,s) 不需要单引号
varchar2(s) 要单引号,大小写不敏感
date
char(s) 大小写敏感

2.列的别名
1.在统计时非常有用
2.列名直接跟别名(也可以在中间写AS)
3.如果别名有特殊字符,可以用双引号括起来(双引号的唯一用途)

3.字符串连接
1.操作符 ||
2.连接的字符串用‘’单引号括起来

4.NULL的操作
1. count(NULL) ===> 0
2. 函数 NVL(value , defalutValue)
解释: 如果value为null ,返回defaultvalue,如果不为null,返回value本身
3.如果排序,在升序 ASC中排在最后
降序 DESC中排在最前

5.distinct去除重复字段

6.SQL比较操作
between...and... , in(list) , in(a,b,c) ,like , is null

7.通配符: %任意字符 , _任意单个字符

8 ORDER BY 细节
1.默认升序ASC
2.ORDER BY 表达式 或者 别名 或者 位置(查询字段的位置,从1开始)
3.可以order by 不在select中的字段

9.字符函数
LOWER , UPPER , INITCAP (第一个字母大写) ,CONCAT ,SUBSTR ,LENGTH (like java languate),NVL

10 数字函数
ROUND 去近似值 ROUND(45.923,2) = 45.92 ROUND(45.923,0)=46 ROUND(45.923,-1)=50
TRUNC TRUNC(45.923) = 45 TRUNCT(45.923,-1) =40
TO_CHAR(num , ‘fmt’) fmt:9代表一个数字
0 空位强制用0显示
TO_NUMBER(char)

11.JOIN
1.Equijoin 条件用=确定关联关系
2.Non-equijion 不用=号确定关联关系
3.Outer join place the operator (+) on the side of the join where there is no value to join to
4.Self join 相同的table,用别名区分

12. GROUP
having + conditions ,不能用where去限制group级别的数据,而是用having
AVG , COUNT , MAX , MIN (对于任意的数据类型), SUM
group by clause(子句,条款) :1.select中的字段必须出现在group by 后(也可以用max/min代替,形成单行函数/聚合函数)
2.group by 中的字段不一定出现在select中

13.Date functions
months_between(date1,date2) 计算2个月份之间的差距
add_months(date1,num)
next_day('date',friday);
last_day('date) 计算某月的最后一天
sysdate 获取系统当前时间


14 约束
列级约束
column [CONSTRAINT constraint_name] constraint_type
表级约束
column , ...
[CONSTRAINT constraint_name] constraint_type
(column,...)


15 外键
FOREIGN KEY , REFERENCES table(column) , ON DELETE CASCADE , ON DELETE SET NULL

16 CREATE TABLE
CREATE TABLE table
[column,...]
AS subQuery

17.INSERT
INSERT INTO table_name([column...]) values (args...)

INSERT INTO table_name([column,...]) subQuery


18.UPDATE
UPDATE table
SET column = value [,column2 = value2]
[WHERE condition]

19.事务性
4大特征: 原子性,一致性,隔离 , 持久
COMMIT , ROLLBACK , SAVEPOINT

20.sequence 序列
CREATE SEQUENCE name
[INCREASE BY n]
[START WITH n]
[MAXVALUE n]
[MINVALUE n]
[CACHE n]

sequence.NEXTVAL / CURRVAL


21.index 索引
CREATE INDEX index
ON table(column [,column ...])
原则:1.该索引对应的字段经常用where做查询字段,并且字段上的值范围很大,基本不相同
2.该列上有很多null值
3.查询出的结果数小于2%-4%
4.表很大,并且不被经常更新(UPDATE)


22.view 视图
本质上就是一段sql语句
CREATE OR REPLACE VIEW view_name
AS
subquery ------------subquery can't contains order by clause
[with check option]
[with read only]

23.add /modify a new column
ALTER TABLE table
ADD/MODIFY (column data_type [DEFAULT exper][ NOT NULL]
[,columndata_type ]....)

24.drop a column
ALTER TABLE table
DROP (column , ...)

25.add a constraint
ALTER TABLE table
ADD [CONSTRAINT constrain_name] constraint_type(column,...)

26.drop/disable a constraint
ALTER TABLE table
DROP/DISABLE CONSTRAINT contraint_name

DROP PRIMARY KEY CASCADE

27 rename table name
RENAME name TO name2


28.truncate a table
TRUNCATE TABLE table --can't rollback
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值