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;
表格裏的數據被清空,存儲空間被釋放。
運行後會自動提交,包括之前其它未提交的會話,因而一旦清空無法回退。

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