【oracle】SQL基本写法
[*] 建表语句:
CREATE TABLE DIC_ORG_ADDR(
> ORGAN_ID varchar(32) NULL,
ORGAN_NAME varchar(32) NULL,
ORGAN_ADDR VARCHAR(100) NULL,
TYPE CHAR(1) NULL
)
[*] 插入语句:
insert into DIC_ORG_ADDR(ID,ORGAN_ID,ORGAN_NAME,ORGAN_ADDR,TYPE )
values("1","01","公安局","黑空街200号","1")
或是
insert into DIC_ORG_ADDR(ID,ORGAN_ID,ORGAN_NAME,ORGAN_ADDR,TYPE )
select * from OTHERS
[*] 删除语句:
delete from DIC_ORG_ADDR where>
[*] 删除表语句:
drop table DIC_ORG_ADDR
[*] 修改表结构:
新增字段:
ALTER TABLE DIC_ORG_ADDR
ADD ( "valid" VARCHAR2(25) NULL )
删除字段:
ALTER TABLE DIC_ORG_ADDR
DROP ( "TYPE" ) CASCADE CONSTRAINT
GO
[*] 修改数据:
updateDIC_ORG_ADDR set type='0' where>
[*] 查询语句:
select * from DIC_ORG_ADDR
[*] 创建自增长序列:
创建序列:
create sequence> 创建触发器:(触发器名为trg_seq_pid ,在向DIC_ORG_ADDR表做 插入之前,
使用id_seq.nextval自增长序列,使id字段自增长。这样插入的时候,主键不用输入数据库就会自动添加自增长的主键值了 )
create or replace trigger trg_seq_pid BEFORE
insert ONDIC_ORG_ADDR FOR EACH ROW
begin
select > endtrg_seq_pid ;
9. 字符串连接符:||
select name||'%' fromusers;
10.截取符:trunc
select trunc(num,2) from users; 截取保留小数点后两位,不进行四舍五入
11. case when
update users set name = (case when name='张三' then '李四' else '无名' end) where name is not null;
12.左连接:左边的表数据内容一定存在,右边连接的如果不存在则为null
select * from INFO a left join RESULT d on a.id = d.resource_guid
全连接:相当与where条件
select * from INFO a join RESULT d on a.id = d.resource_guid
13.转换为字符串: to_char()
select * from users where to_char('create_time','yyyy-MM-dd')
页:
[1]