2.3 Oracle之DDL 语句(约束、伪列、视图、序列、同义词) 精简版
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(只读视图操作)
Eg:CREATE 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 ;
Dual是sys用户下。但在所有用户表中都可用dual表(虚拟表)
2.3 Oracle之DDL 语句(约束、伪列、视图、序列、同义词) 精简版的更多相关文章
- oracle(sql)基础篇系列(三)——数据维护语句、数据定义语句、伪列
DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAM ...
- oracle(sql)基础篇系列(三)——数据维护语句、数据定义语句、伪列
DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAME',' ...
- Oracle 获取ddl语句
--得到所有表空间的ddl语句 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)FROM DBA_TABLESPACES T ...
- Oracle Schema Objects——Sequences(伪列:nextval,currval)
Oracle Schema Objects 序列的作用 许多的数据库之中都会为用户提供一种自动增长列的操作,例如:在微软的Access数据库之中就提供了一种自动编号的增长列(ID列).在oracle数 ...
- oracle获得ddl语句
dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下.注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数:set line 200set pagesize ...
- oracle常用DDL语句
1.添加表字段--咨询表添加内容简介字段 ALTER TABLE s_table ADD intro VARCHAR2(1024); COMMENT ON COLUMN s_table.remarks ...
- oracle序列使用时 先用伪列将序列的id调整到正确的位置
- oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词
数据库对象 用户模式:指数据库用户所创建和存储数据对象的统称.在访问其它用户模式的数据库对象时需加上用户模式. 如:scott.emp, scott.dept等. 数据库对象包括:表.视图.索引.序列 ...
- oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词
数据库对象 用户模式:指数据库用户所创建和存储数据对象的统称.在访问其它用户模式的数据库对象时需加上用户模式. 如:scott.emp, scott.dept等. 数据库对象包括:表.视图.索引.序列 ...
随机推荐
- 利用Intellij IDEA开发Spark程序
网上例子大多是基于scala的,并且配置基于sbt.scala的eclipse环境超级麻烦,所以下载IDEA. 准备:jdk,IDEA安装(可以不用事先安装sbt和Scala,这在IDEA里都可以pl ...
- NutzWk 5.0.x 微服务分布式版本开发及部署说明
NutzWk 5.x 已发布一段时间,这段时间基于此版本开发了智慧水务系统(NB-IOT).某物联网平台.某设备租赁平台.某智慧睡眠平台.某智慧园区项目等,开发和部署过程中遇到一些小问题,开这个帖子把 ...
- python中string格式化
python中可以对string, int, float等数据类型进行格式化操作.下面举例来说明一些常用操作. 先贴出 python 对 String Formatting Operations 讲解 ...
- 4-3 R语言函数 mapply
#mapply(函数/函数名,数据,函数相关的函数) > list(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) [[1]] [1] 1 1 1 1 [[2]] [1 ...
- HashMap,LinkedHashMap和Hashtable类的深入剖析与理解
上一篇文章写了一些关于HashMap以及HashMap的线程安全问题,这篇文章再来说说Map系列中HashMap,LinkedHashMap和Hashtable三者之间的差异以及该注意的地方. Has ...
- VS中生成、清理项目、调试、開始运行(不调试)、Debug 和 Release等之间的差别
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/helloUSB2010/article/details/35802437 一.生成和又一次生成 &q ...
- 多线程之ThreadLocal(转)
相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路:ThreadLocal的目的是为了解决多线程访问资源时的 ...
- .NET平台下开源三维 GIS (地形与游戏)平台资料
.net平台下开源(免费)三维(地形,游戏)GIS平台 open source (free) 3d (terrain,game) gis platform based on .net (C#) Axi ...
- windows7使用Sphinx+PHP+MySQL详细介绍
安装(Windows) 1.官方下载 Sphinx下载地址: 下载 2.解压并重命名 此处下载版本为3.0.3,将 sphinx 文件夹命名为sphinx 3.文件夹目录介绍 sphinx --api ...
- 【转】修改Android解锁界面
背景 先说说背景吧,这是本人从WinCE系统转到Android之后,接到的第一个任务就是修改Android原生的解锁界面,之前看了两个星期的书和网络博客,Java的也有.Android应用开 ...