Oracle中的DDL话语
Oracle中的DDL语句Oracle中的DDL语句一、表格(table)1.创建创建语句创建create table t_1(id int primary k
Oracle中的DDL语句
Oracle中的DDL语句
一、表格(table)
1.创建
创建语句创建create table t_1(id int primary key,name varchar(20));?利用其他的表创建create table t_2 as select * from dept;-----复制dept表create table t_2 as select * from dept where 1=2;-----创建与dept相同表结构的表2.删除丢弃表格(包括字段和记录)drop table t_1;删除数据(包括记录,不删除字段)delete from t_1;truncate table t_1;注意:delete只是将表中的数据并不释放这些数据所占的空间truncate不仅删除表中的数据而且还释放数据所在的空间
3.重命名rename t_1 to t;
二、表格中的字段(column)
增:alter table t_1 add score int ;删: ? ?alter table t_1 drop (score?);改: ? ?alter table t_1 modify scale int重命名:?alter table t_1 rename column scale to grade
三、约束(constraint)
1.增
alter table t_3 modify loc not null;alter table t_1 add constraint pk_t primary key(id);?alter table t_3 add constraint un_score??unique(score?);2.重命名:?alter table t rename constraint score_unique to score_uniq3.删除:?ALTER TABLE table_name DROP?CONSTRAINT constraint_name |PRIMARY KEY
例1
ALTER TABLE t DROP CONSTRAINT?score_uniq?;
例2
ALTER TABLE t DROP PRIMARY KEY CASCAED四、小结1.rename t_1 to t_2?? rename column c1 to c2?? rename constraint cn1 to cn22.对字段的操作和对constraint的操作都是以alter table 表名开始? 1)字段???? 增 add score int???? 删 drop (score)?? ? 改? modify score int varchar(20)?? 2)constraint????? not null:增 modify score not null???????????????????? 删 modify score null?????? primary key:增 add constraint pk primary key(score)????????????????????????? 删? drop constraint primary key cascade?????? unique :增 add constraint uq unique(score)??????????????????? 删 drop constraint uq
?????
补充:约束信息可以从USER_CONSTRAINTS和user_cons_columns表中查看到
?