DDL表结构修改

mac2022-06-30  24

*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;

转载于:https://www.cnblogs.com/yunman/p/5497434.html

最新回复(0)