Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

时间:2023-03-08 15:32:18

数据定义语言 Data Definition Language Statements(DDL)
数据操纵语言 Data Manipulation Language(DML) Statements
事务控制 Transaction Control Statements
会话控制 Session Control Statements
系统控制 System Control Statements
嵌入SQL Embedded SQL Statements


数据定义语言

Create、alter和drop 方案对象与数据库结构 (CREATE, ALTER, DROP)
改变方案对象名称 (RENAME)
TRUNCATE(删除列,截取数据库表 )
权限和角色的授予与回收 (GRANT, REVOKE)
打开与关闭审计操作 (AUDIT, NOAUDIT)
增加注释到数据字典 (COMMENT)  
当用户执行DDL语句时,在每一条DDL语句执行前后,Oracle都将提交当前的事务,理解这一点很重要。

DDL语句列表

Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

datatype图片插入

Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

创建和管理表:表的命名约定
1 必须是以字母开头。2 1–30个字符长度,3 仅能包含A–Z, a–z, 0–9, _,$ 和 #,4 在同一个用户下表名不能重复。5 不能是Oracle保留字,
列的缺省值 :(default)
指定列的缺省值,在以后的INSERT语句中忽略该列值时,将此缺省值赋给该列。
默认值的数据类型必须和列的数据类型匹配。
表达式、SQL函数和数值都是合法的值。
不能包含其它列和伪列的引用(ROWNUM,NEXTVAL,LEVEL和CURRVAL)


创建和管理表:使用子查询创建表

创建表同时插入数据行

语法:
CREATE TABLE table
        [column(, column...)]
AS subquery;

CREATE TABLE     dept30
  2    AS (使用子程序创建表)

3        SELECT       empno, ename, sal*12 ANNSAL, hiredate

4        FROM       emp

5        WHERE       deptno = 30;
Table created.

创建和管理表:更改表

1 使用ALTER TABLE语句:
2 增加或删除列
3 增加完整性约束
4 重新定义列(数据类型、长度、缺省值)
5 修改存储参数或其它参数
6 使能、使不能或删除一完整性约束或触发器
7 显式地分配一个范围
增加列
 ALTER TABLE dept30
   ADD           (job VARCHAR2(9));
删除列:使用ALTER TABLE命令的SET UNUSED或DROP子句删除列。
使用SET UNUSED (列1,列2,…)子句标记一列或多列为“未使用”。
使用SET UNUSED COLUMN 列1子句标记一列为“未使用”。
使用DROP UNUSED COLUMN 列1子句删除标记为“未使用”的一列。
使用DROP UNUSED COLUMNS子句删除所有标记为“未使用”的列。
使用DROP COLUMN 列1 子句删除一列。
使用DROP (列1,列2 ,…)子句删除一列或多列。
Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

修改列
ALTER TABLE    dept30
MODIFY        (ename VARCHAR2(15));

删除表  DROP TABLE dept30;
1. 删除表的所有数据和结构。
2. 删除表的所有索引。
3. 表的删除操作不能回退。

创建和管理表:改变表名称
执行RENAME语句,将改变表、视图、序列和同义词的名称。
操作者必须是对象的拥有者。

RENAME dept TO department;

截断表( TRUNCATE ) 1  删除表的所有数据。
2 释放被表使用的存储空间。
3 截断操作不能回退。
TRUNCATE TABLE department;