创建表,
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;
表格里的数据被清空,存储空间被释放。
运行后会自动提交,包括之前其它未提交的会话,因而一旦清空无法回退。