oracle下关于table的常用sql整理

创建表,
create TABLE table
(
列名称1 数据类型1,
列名称2 数据类型2,
列名称3 数据类型3,
......
);

eg:

create table TABLE_24751
(
id NUMBER not null,
code VARCHAR2(30) not null,
des_id NUMBER not null,
enabled_flag NVARCHAR2(1),
created_by NUMBER not null,
creation_date DATE not null,
last_updated_by NUMBER not null,
last_update_date DATE not null
)

删除表(尽量不使用),
drop TABLE tableName;

添加主键
ALTER TABLE tableName ADD CONSTRAINT constraintName contraintType (column1,...);
eg:ALTER TABLE table ADD CONSTRAINT table_PK PRIMARY KEY(id); //将id重命名并且对其添加主键索引

删除主键
ALTER TABLE departments DROP PRIMARY KEY CASCADE; CASCADE为级联删除

创建一般(normal)索引
CREATE INDEX 索引名 ON 表名(想要创建索引的列名) [TABLEBASE 表空间名];

创建唯一(unique)索引
CREATE UNIQUE INDEX 索引名 ON 表名(想要创建索引的列名) [TABLEBASE 表空间名];

删除索引
drop index 索引名;

表名注释
COMMENT ON TABLE 表名 IS '表注释';
eg:COMMENT ON TABLE STUDENT_INFO IS '学生信息表';

字段注释
comment on column TABLE_24751.id is '主键ID,供其他表使用';

插入数据
insert into table_24751(id,code,des_id,enabled_flag,created_by,creation_date,last_updated_by,last_update_date)
values (-1,1234,-1,1,124,sysdate,145,sysdate);

更新数据
update table_24751 t2
set t2.code=111,
t2.des_id=1,
t2.last_updated_by=775,
t2.last_update_date=sysdate
where t2.id=1;

删除数据
delete from table_24751 t2 where t2.id=1;

增加字段
alter table test1 add (name varchar2(30) default ‘无名氏’ not null);

修改字段
alter table test1 modify (name varchar2(16) default ‘unknown’);

删除字段
alter table test1 drop column name;

修改字段的名称
alter table s_dept rename column age to age1

修改字段的类型
alter table test1 modify (name varchar2(16) default ‘unknown’);

创建序列
create sequence [表名]_S
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;

删除序列
drop sequence [表名]_S;

查询序列
select table_24751_S.nextval from table_24751;

truncate(只能用于数据特多情况)
truncate命令:
语法:TRUNCATE TABLE table;
表格里的数据被清空,存储空间被释放。
运行后会自动提交,包括之前其它未提交的会话,因而一旦清空无法回退。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章