MySQL学习笔记(十八)—— MySQL的命令集(8)
时间:2008-06-05 来源:lavostar
20) 创建表空间
CREATE TABLESPACE tablespace
ADD DATAFILE ‘file’
USE LOGFILE GROUP logfile_group
[EXTENT SIZE = extent_size]
[INITIAL SIZE = initial_size]
ENGINE = engine
在文件系统上创建表空间以支持数据库表的存储,此后可以使用ALTER TABLESPACE命令添加数据文件。在MySQL 5.1中,ENGINE的选择为NDB或NDBCLUSTER。
21) 创建触发器
CREATE [DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time trigger_event
ON table FOR EACH ROW statement
在MySQL中创建触发器。对每个表/时间/事件最多只能定义一个触发器。当触发器激活时,需要拥有DEFINER子句所指定的权限。
示例: CREATE TRIGGER addresses after DELETE ON person
FOR EACH ROW
BEGIN
DELETE FROM address WHERE person = OLD.person_id;
END
22) 创建用户
CREATE USER user
[IDENTIFIED BY [PASSWORD] ‘password’]
[, user [IDENTIFIED BY [PASSWORD] ‘password’]] …
在MySQL中新建用户。
23) 创建视图
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW name [(columns)]
AS select statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
基于指定的SQL查询及选项创建新的视图。如果视图已存在且指定了OR REPLACE,那么原视图将被新视图所覆盖。视图和表共享名字空间,所以不可以在系统中创建相同名字的视图和表。
默认的视图列名取自select语句的列名,不过因为视图可能包含来自多个表的数据,为了保持列名的唯一性,最好是自设视图列名,在设置时,数目应与select语句中的列数目相匹配。
示例: CREATE VIEW person_view
AS
SELECT first_name, last_name, email_type, email_address
FROM person, address
WHERE person.person_id = email_address.person
相关阅读 更多 +