SQl支持的命令:
数据定义语言(DDL):create,alter,drop
数据操纵语言(DML):insert,delete,update,select
数据控制语言(DCL):grant,revoke
事务控制语言(TCL):commit,savepoint,rollback
Oracle数据类型:
数值型
number:最高精度38位
日期时间型
date:精确到ss
timestamp:秒值精确到小数点后6位
字符型
char:1-2000字节的定长字符
varchar2:1-4000字节的变长字符
long:2GB的变长字符
注意:
一个表中最多可有一列为long型
Long列不能定义唯一约束或主键约束
long列上不能创建索引
过程或存储过程不能接受long类型的参数。
数据库修改
alter table 旧表名 rename to 新表名;--修改表名
alter table 表名 rename column 旧列名 to 新列名;--修改列名
alter table 表名 add (列名 number);--添加新列
alter table 表名 drop(列名);--删除列
alter table 表名 modify(列名 varchar2(2));--更改列的数据类型
数据库查询
条件查询
SELECT 列名 FROM 表名 WHERE 条件;
分页查询(子查询)
SELECT 子别名.* FROM
(SELECT 表别名.* ,ROWNUM r FROM 表名 表别名 ORDER BY 表别名.列 DESC)子别名
WHERE r >= 5 AND r < 10
查询拼接
SELETE 列名1||列名2 FROM 表名;
剪集分页
SELECT e.* ,ROWNUM FROM EMP e WHERE ROWNUM <= 10
MINUS
SELECT e.* ,ROWNUM FROM EMP e WHERE ROWNUM < 6;
虚拟表
SELECT SYSDATE FROM DUAL;
空转0
SELECT SAL+NVL(comm,0) FROM EMP;
SELECT NVL2(comm,SAL+COMM, SAL) FROM EMP;
排名
SELECT e.*,dense_rank()
over(partition by DEPTNO ORDER BY SAL DESC ) as "排名" FROM EMP e;