DROP TABLE 语句
金卡项目取得了巨大的成功。销售部决定启动一个新的、经过改良的计划,即白金卡(Platinum Card)计划。经过一段时间后,金卡项目已经被分阶段撤销。于是,这里要删除 Gold 表。
DROP TABLE aroma.gold; |
SELECT * FROM sysibm.systables WHERE creator='AROMA'; |
| NAME | CREATOR | ... |
|---|---|---|
| CLASS | AROMA | ... |
| DEAL | AROMA | ... |
| LINE_ITEMS | AROMA | ... |
| MARKET | AROMA | ... |
| ORDERS | AROMA | ... |
| PERIOD | AROMA | ... |
| PRODUCT | AROMA | ... |
| PROMOTION | AROMA | ... |
| SALES | AROMA | ... |
| STORE | AROMA | ... |
| SUPPLIER | AROMA | ... |
该查询从 Aroma 数据库删除 Gold 表。这是一个不可逆转的动作。存储在这个表中的所有数据都要丢失。
要了解关于系统表的更多信息,请参阅本系列的 第 1 部分:“元数据”。
要了解关于 DROP TABLE 语句的更多信息,请查看 DB2 Information Center(见 参考资料)。
数据控制语言
SQL 的第三个组成部分就是数据控制语言(Data Control Language,DCL)。
DCL 包括一些重要的语句,例如 GRANT 和 REVOKE。这些语句控制用户拥有数据库上的哪些权限,例如选择行、更新表、删除数据、修改表结构等。
具有不同角色的用户执行不同的任务,并且应该被给予不同的权限。
公司雇用了一个新的数据库管理员来管理 Sales 表,他需要被授予 SELECT、INSERT、UPDATE 和 DELETE 权限。
GRANT select, insert, update, delete ON aroma.sales TO user02; |
GRANT privilege_list ON table_name TO user_name; |
| privilege_list | 为用户授予的权限的列表。可能的值包括 SELECT、INSERT、UPDATE、DELETE 和 ALL PRIVILEGES |
GRANT 语句用于将权限授给数据库用户。
该查询为用户 user02 授予对 Aroma 数据库中的 Sales 表执行 select、insert、update 和 delete 操作的权限。
|
公司决定,一旦将记录输入到 Sales 表中之后,新的数据库管理员不能更改或删除它们。撤销 user02 的 UPDATE 和 DELETE 权限。
REVOKE update, delete ON aroma.sales FROM user02; |
REVOKE privilege_list ON table_name FROM user_name; |
| privilege_list | 要撤销用户的权限的列表。可能的值包括 SELECT、INSERT、UPDATE、DELETE 和 ALL PRIVILEGES |
REVOKE 语句用于撤销数据库用户的权限。
该查询撤销用户 user02 对 Aroma 数据库的 Sales 表的 UPDATE 和 DELETE 权限。
要了解关于 DCL 语句的更多信息,请查看 DB2 Information Center (见 参考资料)。
结束语
本教程帮助您创建了一个新表,并练习了数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)中的语句。
使用 CREATE TABLE 语句创建 Gold 表。
使用 INSERT 语句添加新的行到 Gold 表中。
使用 UPDATE 语句修改 Gold 表中的行。
使用 DELETE 语句删除 Gold 表中的行。
使用 ALTER TABLE 语句增加一列,改变列的数据类型,以及删除 Gold 表中的列。
使用 CREATE VIEW 语句创建 Gold 表的一个公共视图,仅令 card_id、storekey 和 status 列可见。
使用 CREATE INDEX 语句提高 Gold 表的查询性能。
使用 DROP TABLE 语句删除 Gold 表。
使用 GRANT 语句为 Sales 表的用户授予权限。
使用 REVOKE 语句撤销 Sales 表的用户的权限。