oracle简单DDL的使用

来源:互联网 发布:阿尔法软件官方下载 编辑:程序博客网 时间:2024/05/01 19:51

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_Tas(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_PKalter table student add primary key(StuName);--为student表添加系统自动分配名称的主键alter table student drop constraint Stu_PK;--删除主键

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

alter table student add constraint temp_departid_fkforeign 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 '学生信息表';
0 0
原创粉丝点击