Oracle常用语句

创建表(人员信息表)

create table tbluser
(
    id number(8) primary key,
    username VARCHAR2(100) not null,
    sex VARCHAR2(2) default '',
    age number(3),
    companyaddress VARCHAR2(1000),
    homeaddress varchar2(1000),
    phone varchar2(40),
    tel varchar2(40),
    remark varchar2(4000)
)

--创建自动增长列

1.创建序列

2.创建触发器(或者在创建完序列后在插入表数据时直接在自增列使用user_id.nextval代替)

创建一个从10001开始每次增1的序列

--第一种方法
create sequence tbluser_id start with 10001 increment by 1;

--第二种方法:
create sequence user_id
minvalue 1
maxvalue 9999999999999999999999999999
start with 10001 --从10001开始
increment by 1 -- 增量1
cache 20;

查询DB中创建的序列(区分大小写)

select * from user_sequences t where t.sequence_name='USER_ID';

为user表创建一个before insert 的触发器,在插入之前将表user的主键设置为上面的序列

create or replace trigger user_id_trigger 
before
insert on tbluser for each row --一定要加上eac row 表示触发器适应于每一行 --when(new.id is null) --加和不加都行 declare mid number; begin select user_id.nextval into mid from dual; :new.id:=mid; --上面两句也可以写成如下语句(取消定义mid) --select user_id.nextval into:new.id from dual; end;

查看触发器

select * from user_triggers t where t.trigger_name='USER_ID_TRIGGER';

给表添加索引

create index idx_tbluser_id on tbluser(id);

查看表约束

select * from user_constraints;

给表添加主键

alter table tbluser add constraint ID_PK primary key(ID);

给表添加备注

COMMENT on column tbluser.id is '自动增长列';
COMMENT on column tbluser.username is '用户名';

给表新增列(多列)

alter table tbluser add
(
    usercode varchar2(40),
    userclass varchar2(40)
);

给表新增列(一列)

alter table tbluser add memo varchar2(400);

以上为博主自行整理,后续还会持续更新。如需转载请标注来源!

原文地址:https://www.cnblogs.com/wuhanjackh/p/12227509.html