索引-视图-触发器-游标的基本语法

索引

普通索引的创建

CREATE [UNIQUE] INDEX 索引名 ON  表名(字段,…)

组合索引

CREATE INDEX索引名ON 表名(字段1,字段2)

修改索引

ALTER TABLE 表名 ADD INDEX|KEY 索引名(字段……);

查看索引

Show index|keys from 表名;

   删除索引

drop index 索引名 on 表名;

视图

视图的创建

CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    VIEW 视图名[(column_list)]

    AS select语句

[WITH [CASCADED | LOCAL] CHECK OPTION]

修改视图

ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    VIEW 视图名 [(column_list)]

    AS select语句

    [WITH [CASCADED | LOCAL] CHECK OPTION]

查看视图

SHOW CREATE VIEW 视图名

删除视图

DROP VIEW [IF EXISTS]

    视图名1 [,视图名2] ...

[RESTRICT | CASCADE]

 

触发器

触发器创建

CREATE [DEFINER = { user | CURRENT_USER }]

 TRIGGER <触发器名称>

{ BEFORE | AFTER }

{ INSERT | UPDATE | DELETE }

ON <表名称>

FOR EACH ROW

<触发的SQL语句>

删除触发器

DROP TRIGGER [schema_name.]trigger_name

查询触发器

SHOW TRIGGERS [{FROM | IN} db_name]

    [LIKE 'pattern' | WHERE expr]

游标的应用
DELIMITER // CREATE PROCEDURE cursor_test() BEGIN -- 声明与列的类型相同的四个变量 DECLARE id INT(5); DECLARE pname VARCHAR(20); DECLARE pprice DOUBLE; DECLARE pdescription VARCHAR(20); -- 1、定义一个游标mycursor DECLARE mycursor CURSOR FOR SELECT *FROM shops_info; -- 2、打开游标 OPEN mycursor; REPEAT #开启循环 -- 3、使用游标获取列的值 FETCH NEXT FROM mycursor INTO id,pname,pprice,pdescription; -- 4、显示结果 SELECT id,pname,pprice,pdescription; UNTIL done END REPEAT; -- 5、关闭游标 CLOSE mycursor; END; // DELIMITER ;
原文地址:https://www.cnblogs.com/FlyBlueSky/p/8640913.html