oracle创建、删除、修改表

表的创建、修改、删除

1.用于操纵表的DDL语言命令有:create table(创建)、alter table(修改表)、drop table(删除表)、truncate table(截断表)

  • 1)创建表
    create table <表名>
    tablespace <表空间名称> 将表创建到哪个表中
    在这里插入图片描述
create table dw1.student //创建表
(
 sno varchar2(3) not null, //约束sno一列取值不为空
 sname varchar2(8) not null,
 ssex carchar2(2) not null,
 degree number(4,1), //成绩字段数值类型
 sbirthday date,
 class varchar2(5),
 constraint pk_dw_doctor primary key(ysbm), 
 //定义主键,(ysbm)主键字段,primary key主键
 constraint fk_dw_doctor_ksbm foreign key (ksbm) references dw.dept(ksbm),
 //定义外键,foreign key外键,从哪里引用references
 check(xb = '1' or xb = '2')
 //用来检测一列的取值范围
)
tablespace TS_DW; //指定表的默认表空间
//not null只能作为列级约束
  • 2)修改表
    通过alter table命令来实现可以对基本表的表结构进行更改,包括添加一行,删除一行,更改列的长度
    语法规则
alter table tablename ADD/MODIFY/DROP DOLUMN/coloumnname[definition];
//add增加,modify修改,drop删除
alter table dw.doctor add tablename varchar2(10);
//在doctor中增加一个表,tablename(新列名称)
alter table dw.doctor drop column name;
//从表中删除列名称,drop后必须加column+列名称
alter table dw.doctor modify name varchar2(100);
//将表中的name字段改为长度为100的字段,只能改大不能改小
alter table dw1.student add constraint student_id_pk primary key (sno);
//add增加,primary主键,添加主键student_id_pk,主键字段(sno)
alter table dw1.student
add constraint dw_wj_sno foreign key (sno) references dw1.score(sno);
//添加外键,通过foreign添加,引用自references dw1.score(sno)
  • 3)删除约束
alter table dw.student drop constraint dw_gen_1_kscj;
//通过drop删除,后+约束名称

当某个基本表不需要的时候,可以使用drop table删除

//删除表结构和表记录【限制删除|级联删除】
drop table <表名> [restrict|cascade]

该语句将删除表结构及表中记录,所以小心使用!!!

  • 4)截断表
    一般用于删除表中所有数据,但是要保留表结构
    当需要删除表中所有数据是,可以使用truncate对表进行截断
    在截断表时,表中包含的所有行都将被删除,但表本省会被保留,就是列依然存在,只是其中没有存储值
    truncate能达到删除数据的目的,速度比delete快,但是无法rollback(恢复)
truncate table <表名>;
//删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值