数据定义语言DDL
使用CREATE语句创建新的数据库对象
创建的数据库对象包括
- 缓冲池
- 事件监听器
- 函数
- 索引
- 模式
- 存储过程
- 表
- 表空间
- 触发器
- 视图
每当用户创建数据库对象时,都会更新系统目录。
CREATE TABLE student( stdid INTEGER NOT NULL, name VARCHAR(5), local VARCHAR(13) )
使用DECLARE语句生成新的数据库对象
- 用DECLARE创建的是只能在数据库连接期间存在的临时表。当要用到中间结果时,临时表很有用。
- 声明的表可以被引用、修改和删除。
- 表是唯一一个可以被声明的数据库对象。
当用户声明临时表时,系统目录不会被更新。
DECLARE GLOBAL TEMPORORY TABLE session.temp1 LIKE employee ON COMMIT PRESERVE ROWS NOT LOGGED IN mytempspace
- DECLARE GLOBAL TEMPRORY TABLE声明一个临时表
- temp1为表名,列名同employee
- mytempspace为临时表空间(用户的临时表空间必须存在)
- 每当处理COMMIT语句时,临时表中的行就会被保留下来(不会被删除)
- session为模式,临时表必须由模式名显示限定,因为每个定义声明过的表的会话对该临时表都有自己的(可能是唯一的)描述
使用ALTER语句来改变数据库对象
ALTER语句可以用来改变现有数据库对象的一些特性,包括:
- 缓冲池
- 模式
- 表
- 表空间
- 触发器
- 视图
不可以修改索引,如果想要改变索引,那么必须删除它然后用不同的定义创建一个新的。
ALTER TABLE org
ADD state char(2)
使用DROP语句来去掉数据库对象
可以删除任何CREATE和DECLARE语句创建的对象。
DROP TABLE org
DROP语句从系统目录中删除对象的定义,所以也从数据库本身中删除了表。数据库对象可能会依赖其他的数据库对象,所以删除对象可能会使有关的对象变成无效的。