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