欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle之DDL (Data Definition Language ,数据定义语言)(约束、伪列、视图、序列、同义词) 精简版

程序员文章站 2022-06-30 19:26:54
DDL Data Definition(重点) (n. 定义;[物] 清晰度;解说)用于定义数据的结构,创建,修改,删除数据库对象 一、表的增删改查 1、创建表:CREATE TABLE temp AS (SELECT * FROM emp WHERE 1==2) 创建表结构。 CREATE TAB ......

ddl data definition(重点)

n. 定义;[] 清晰度;解说)用于定义数据的结构,创建,修改,删除数据库对象

一、表的增删改查

1、创建表:create table temp as (select * from emp where 1==2) 创建表结构。

create table temp(字段名称 字段类型(默认值))

2、删除表:drop table person (需要回滚);

truncate table tperson ;(直接截断)

3、增加表字段:alter table person add (address varchar(200) default ' ') ;

4、修改表字段结构:alter table modify ( default )

rename 旧名称to新名称 ;

二、约束:

drop table person ;

create table person

(

pid varchar2(18)primary key(1、主键约束) ,

name varchar2(200)not null(2、非空约束) ,

age number(3) ,unique not null(3、唯一约束除主键外)

birthday date ,not null(4、非空约束)

sex varchar2(2) defa check(age between 0 and 150)/check(sex in ('',''))(5、检查约束)

constraint person_pid_pk primary key(pid) pid约束命名(6、外键约束)

增加外键约束:alter table book add constraint person_book_pid_fk foreign key(pid) references person(pid) on delete cascade ;表里加外键约束。

删除外键约束:alter table 表名称drop constraint 约束名称;

三、伪列:

select rownum,empno,ename,job,sal,hiredate from emp where rownum<=5;

四、集合:

union(无重复) union all(有重复) intersect (俩个相同)minus (不同集合)

五、视图创建:

create view 视图名称 as 子查询 with check option(不更新创建条件);

create view 视图名称 as 子查询 with read only(只读视图操作)

egcreate view empv20 as select empno,ename,job,hiredate from emp where deptno=20 ;

视图删除:drop view empv20 ;

视图修改:create or replace 视图名称as子查询 ;

六、序列:

创建格式

create sequence sequence

[increment by n] 每次增长幅度

[start with n]序列从1开始

[{maxvalue n | nomaxvalue}]最大值

[{minvalue n | nominvalue}]最小值

[{cycle|nocycle}]表示达到最大值后从头开始,也可以为nocycle

[{cache n|nocache}] ;防止数据库挂掉数据库不能使用

nextval方法,取得序列下一个内容,currval取得序列当前内容

七、同义词:create synonym 同义词名称for用户名.表名称 ;

创建:create synonym emp for scott.emp ;

删除:drop synonym emp ;

dualsys用户下。但在所有用户表中都可用dual表(虚拟表)