-- 创建表
-- drop table teacher;
create table teacher(
id number(6),
name varchar2(20),
phone varchar2(20),
constraint pk_teacher primary key (id)
);
-- 为表加上注释
comment on table TEACHER IS '教师表';
-- 为列添加注释
comment on column TEACHER.ID IS '教师编号';
comment on column TEACHER.NAME IS '教师姓名';
-- 查看一个表的列信息
select * from user_tab_columns
where table_name=upper('tablename');
/*
注意:
1.如果当前列已经有当前约束,则不可重复添加
2.如果表中已经有主键(primary key),则不可对所操作的列加主键约束
3.把一列改变为null约束,则此列之前必须有not null约束
*/
-- 删除表
drop table tablename;
-- 修改表名
alter table tablename rename to new_tablename;
-- 增加列
alter table tablename add (
column datatype [default value][null/not null][primary key/unique/...],...);
-- 修改列
alter table tablename modify (
column datatype [default value][null/not null],[primary key/unique/...],...);
-- 删除列
alter table tablename drop (column_name1,column_name2,...);
-- 修改列名
alter table table_name rename column column_name to newname;
-- 示例:
-- 增加一列
alter table teacher add memo varchar2(200) default '暂无简介' not null;
-- 增加多列
alter table teacher add (note varchar2(200) default '暂无简介',age number(3)) ;
-- 修改一列
alter table teacher modify phone varchar2(20) not null;
-- 修改多列
alter table teacher modify (phone varchar2(20) not null,name varchar2(20) not null);
-- 修改为空的字段必须有not null约束才行
alter table teacher modify phone varchar2(20) unique null;
-- 删除一列
alter table teacher drop (age);
-- 删除多列
alter table teacher drop (memo,note);
commit;