*1)创建表
create table 表名(
字段名 类型,
....
);
//以现有表复制一个新表
create table j012 as
select id,name,salary from j010 where 1<>1;
2)删除表
drop table 表名;//删除,放入回收站
drop table 表名 purge;//直接删除,不放入回收站
*3)修改表结构
a.添加一列字段
alter table 表名 add (字段名 类型);
//向j014表中添加一列sex
alter table j014 add (sex char(1));
b.修改一列字段
可以修改类型、大小、是否允许为空,不能修改字段名
alter table 表名 modify (字段名 类型);
//将sex字段大小改为3,不允许为空
alter table j014 modify
(sex char(3) not null);
//取消not null约束限定
alter table j014 modify
(sex char(3) null);
提示:在修改原表的类型、大小、是否允许为空时,
由于表中数据不符合规则,会导致语句失败。
c.删除一列字段
alter table 表名 drop column 字段名;
//删除j014表中的age列
alter table j014 drop column age;
*4)设置字段默认值
create table j015(
id number(7) not null,
name varchar2(20),
salary number(7,2) default 10000,
login_time timestamp default systimestamp);
//不指定salary和login_time,会采用默认值
insert into j015(id,name) values(101,'scott');
//salary采用指定的值,login_time采用默认值
insert into j015(id,name,salary)
values(102,'tiger',5000);
//salary采用指定的6000,login_time采用指定的null
insert into j015(id,name,salary,login_time)
values(103,'bob',6000,null);
提示:字段默认值设置,只在不指定字段时有效,
如果插入时指定了值,会采用指定值,即使null
也会写入,不会采用默认值。
5*)修改表名称
rename 表名 to 新表名;
//将表j015改为s015
rename j015 to s015;
b.查看表结构
desc 表名;
c.删除表结构
drop table 表名;//将表删除放入回收站
drop table 表名 purge;//将表直接删除不放入回收站
d.恢复表结构和数据
flashback table 表名 to before drop;