您的位置:首页 > 数据库 > MySQL

MySQL学习(3) 视图,游标,语句块儿

2009-12-15 18:32 405 查看
1.MySQL创建视图的简单语句为:CREATE VIEW view_name AS SELECT * FROM TABLE_NAME;

不能对触发器创建视图(VIEW)。但是在5.1.4中是这样描述的,A view can be created from many kinds of
SELECT
statements. It can refer to base tables or other views. It can use joins,
UNION
, and subqueries。大致意思是视图可以由大多数SELECT语句组成,可以是参考基础表或其他的视图。能使用连接,合并和子查询。

2.游标(CURSOR),游标在存储过程中的使用。

游标是一种在数据库服务器端操作结果集的方式,如果没有游标我们要对查询的结果集进行处理就要使用高级语言编程实现,这样增加了不必要的网络传输。MySQL在5.0.3支持了游标。

学习的代码如下:

DELIMITER /

/**
*1.修改表列
*1.1增加表列,1.2
*/
ALTER TABLE t ADD COLUMN ii INT;
ALTER TABLE t
/**
*2.MD5函数,现在的加密工作都交给数据库了,不用在应用中加密了。
**/
SELECT MD5('LEST');
/**
*3.视图VIEW,这样我们只要查询视图就可以看到我们要查看的数据,当然前提是我们的SELECT 语句包括了他们。
*/
CREATE OR REPLACE VIEW v_t AS SELECT i FROM t;
SELECT * FROM v_t;
DESC v_t;

CREATE PROCEDURE p_iu()
BEGIN
INSERT INTO userinfo VALUES('bill',30);
UPDATE userinfo SET age=20 WHERE username='admin1234';
COMMIT;
EXCEPTION
ROLLBACK;
END;
/**4.将各个操作限制在一起,成功的条件是整个操作顺利完成*/
BEGIN
INSERT INTO t VALUES(12,12);
INSERT INTO tx VALUES(11);
END;
/

/**
*5.游标CURSOR,存储过程和函数支持简单的游标,使用游标是数据库服务器可能会将结果表复制一份,也可能不会,只能在存储过程和函数中使用。
*1.简单的游标应用,done是又游标的实现者操作,对其值进行修改
**/
DROP TABLE IF EXISTS  t;//
CREATE TABLE t(i_a INT);//
INSERT INTO t VALUES(2);//
CREATE PROCEDURE p_cur()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a INT;
DECLARE cur1 CURSOR FOR SELECT * FROM t;
OPEN cur1;

REPEAT
FETCH cur1 INTO a;
UNTIL done END REPEAT;

CLOSE cur1;
END;
//


DELIMITER 根据需要改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: