数据库语句
1、创建数据库: create database 名;
2、删除数据库: drop database 名;
3、创建新表: create table table_name(列名1 type1 [not null] [primary key],列名2 type2 [not null],..)
4、删除表: drop table 表名;
5、增加列: alter table 表名 add column 列名 type;
6、删除列: alter table 表名 drop column 列名;
7、添加(删除)主键: alter table table_name add(drop) primary key(列名)
8、创建视图: create view view_name as select statement
9、删除视图: drop view view_name
10、增加字段注释 comment on column 表名.列名 is '注释';
查询语句
1、select 字段 from 表 where 条件;
2、排序:order by 列名 【desc (倒序)】 【asc(正序)】
3、获取前X条数据:SELECT * FROM 表 WHERE ROWNUM < X
插入语句
1、INSERT INTO 表 (值1,值2,值3.....) where 条件;
2、INSERT INTO 表 (列名1,列名2,列名3......)values(值1,值2,值3.....);
3、INSERT INTO 表 SELECT 子句;
4、INSERT INTO 表(列名1,列名2,列名3......) SELECT 子句;
修改语句
1、update 表 set 列名1 = 值1, 列名2 = 值2...... where 条件
2、update 表 set (列名1, 列明2......) = (select 列明1, 列明2...... from 表)
删除语句
1、delete from 表 where 条件
条件语句
1、merge into 表名 t1 using( select 值1 as 列明1,值2 as 列明2 from dual ) t2
on ( t1.列明1 = t2.列明1 and t1.列明2 = t2.列明2 )
when matched then update set 更新语句
when not matched then insert (字段1, 字段2)values (值1,值2)
常用函数: sum() 求和; avg() 平均值; max() 最大; min() 最小; count 总数;
round(小数, 小数点后位数) 四舍五入保留几位小数;
cast( x as integer) 转换成整数类型
设置自增序列
1、创建自增序列语句
create sequence 某***名
increment by 1 (每次增长多少)
start with 1 (从数字几开始)
maxvalue 999999999(最大值)
nocycle
nocache;
2、查看创建自增序列
SELECT * FROM user_sequences;
3、删除自增序列
DROP sequence 某***名
4、查询当前(下一次)增长数
select 某***名.CURRVAL as ID from dual;
select 某***名.NEXTVAL as ID from dual;
高级查询运算词语:
1、UNION :组合两个结果表并消除重复行而派生出一个结果表;
2、UNION ALL:组合两个结果表, 不消除重复行;
3、EXCEPT:包括所有在表1中但不在表2中的行并消除重复行而派生出的一个结果表;
4、EXCEPT ALL:包括所有在表1中但不在表2中的行,不消除重复行;
5、INTERSECT:只包括表1和表2中都有的行并消除重复行而派生出一个结果表;
6、INTERSECT ALL:只包括表1和表2中都有的行,不消除重复行;
trunc函数
/*
* 处理日期
*/
SELECT TRUNC(SYSDATE, 'YY') FROM dual; --返回当年第一天
SELECT TRUNC(SYSDATE, 'MM') FROM dual; --返回当月第一天
SELECT TRUNC(LAST_DAY(SYSDATE)) FROM dual; --返回当月最后一天
SELECT TRUNC(SYSDATE, 'Q') FROM dual; --返回季度的第一天
SELECT TRUNC(SYSDATE, 'D') FROM dual; --返回当前日期(星期日)
SELECT TRUNC(SYSDATE, 'DD') FROM dual; --返回当前日期
SELECT TRUNC(SYSDATE, 'HH') FROM dual; --返回当前小时
SELECT TRUNC(SYSDATE, 'MI') FROM dual; --返回当前分钟
/*
* 截取数字,直接截取,不进行四舍五入
*/
SELECT TRUNC(1234.1234, 2) FROM dual; --1234.12
SELECT TRUNC(1234.1234, -2) FROM dual; --1200
lpad函数
lpad:左填充; rpad:右填充;
lpad( string, length, pad_string )
string:需要填充的字符串;
length:填充后长度
pad_string:填充内容,不填写默认空格
SELECT LPAD('FF', 10, '0') FROM dual; --00000000FF
SELECT RPAD('FF', 10, '0') FROM dual; --FF00000000