oracle简单DDL的使用

oracle简单DDL的使用

记下自己常用的一些DDL语句,忘了的时候方便查询
创建表:create table [mode_name.]table_name(…);
例如:

create table scott.student(
stuname varchar2(31),
stuno number(10),
sex char(2)
)

创建表的备份:create table newtable as select * from oldtable
例如:

create table student_T
as
(select * from student where rownum<2);
delete from student_T

增添和删除字段:

alter table student add(province varchar2(10));--添加省字段
alter table student drop column province;--删除省份字段
alter table student drop (sex,age) --删除多个字段

修改字段类型:alter table table_name modify column_name colunm_property

alter table student modify age varchar2(31);--修改student表的age字段类型为varchar2(31)

添加字段并设置默认值为uuid:

alter table student add(uuid VARCHAR2(32) default sys_guid())

重命名表:alter table table_old_name rename to table_new_name

alter table student rename to students;--修改student表的名称为students

删除表:drop table table_name[cascade constraints];
如果该表存在约束,关联的视图和触发器等,则必须使用”cascade constraints”这个可选子句才能将其删除。
表的闪回:
一般情况下,当某个表被删除后,实际上它并没有被彻底删除(仅仅是在数据字典中被除名),而是把表放到了回收站中(依然占用内存)。可以使用flashback table语句进行还原。

flashback table student before drop;--还原student表

修改表状态:alter table table_name read [only|write];

alter table student read only;--修改student表为只读

非空约束(not null):限制必须为某个列提供值。

alter table student modify age not null;--为age添加非空约束
alter table student modify age null;--删除age的非空约束

主键约束(primary key):用于唯一的标识表中的每一行记录。

alter table student add constraint Stu_PK primary key(StuName);--为student表添加主键Stu_PK
alter table student add primary key(StuName);--为student表添加系统自动分配名称的主键
alter table student drop constraint Stu_PK;--删除主键

唯一性约束(unique):强调所在列不允许有相同的值,但是可以允许为空值。
类似于主键约束。
外键约束(foreign key):在”另外一张表中”,被引用的列中不存在的数据不能出现在“当前表,”对应列中。

alter table student add constraint temp_departid_fk
foreign key(age) reference students(age);  --创建外键约束

禁用和激活约束:alter table table_name [enable|disable] constraint con_name;
删除约束:alter table table_name drop constraint con_name;

添加字段备注:comment on column table.column is '';

comment on column student.name is '学生姓名';

添加表备注:comment on table tablename is '';

comment on table student is '学生信息表';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值