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);
以上为博主自行整理,后续还会持续更新。如需转载请标注来源!