经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
Oracle之DDL (Data Definition Language ,数据定义语言)(约束、伪列、视图、序列、同义词) 精简版
来源:cnblogs  作者:Smileing  时间:2018/11/20 10:27:15  对本文有异议

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表(虚拟表)

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号