DDL用来对对象进行定义,也就是元数据进行定义。
表和列的命名规则必须遵守:
- 以字母开头
- 1至30个字符长
- 仅包含A–Z,a–z,0–9,_,$和#
- 名称不能重复
- 不能成为Oracle服务器保留字
CREATE TABLE语句
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
在CREATE表中为列指定默认值。
- 文字值,表达式或SQL函数是合法值。
- 另一列的名称或伪列是非法值。
- 默认数据类型必须与列数据类型匹配。
创建表实例
CREATE TABLE dept (deptno NUMBER(2), deptname VARCHAR(20), loc VARCHAR(13), create_date DATE DEFAULT SYSDATE);
使用子查询创建表
通过组合CREATE TABLE语句和AS关键字后的查询来创建表并插入行.
CREATE TABLE table
[(column, column...)]
AS subquery;
字段的类型
约束
约束在表级别执行规则。
约束确保数据库的一致性和完整性。
以下约束类型有效范围:
- NOT NULL 非空
- UNIQUE 唯一
- PRIMARY KEY 主键:非空且唯一
- FOREIGN KEY 外键:给字段设置了外键约束,要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值。
- CHECK 检查:插入数据前检查是否满足条件。是:能插入数据;否:不能插入数据。
ALTER TABLE 语句
使用 ALTER TABLE 语句进行:
- 添加新列
- 修改现有的列定义
- 为新列定义默认值
- 删除列
- 重命名列
- 将表更改为只读状态
使用ALTER TABLE语句添加,修改或删除列:
使用ALTER TABLE语法:
- 将表置于只读模式,这可以防止在表维护期间发生更改类型的DDL或DML操作.
ALTER TABLE employees READ ONLY;
- 将表放回 读/写 模式
ALTER TABLE employees READ WRITE;
DROP TABLE语句
将表移到回收站。
如果指定了PURGE子句,则完全删除表及其所有数据。
DROP TABLE dept80;
DROP TABLE dept80 PURGE;