MySQL学习(3) 视图,游标,语句块儿
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 根据需要改变。
相关文档:
数据库设计:
--
-- 数据库: `test`
--
-- --------------------------------------------------------
--
-- 表的结构 `menu`
--
CREATE TABLE IF NOT EXISTS `menu` (
`ID` int(10) unsigned NOT NULL auto_increment,
`PID` int(11) NOT NULL,
`TITLE` varchar(200) NOT NULL,
`REMARK` varchar(200) NOT ......
Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里;
php官方下载地址:php-5.0.5-Win32.zip,更多镜像下载地址,更多版本下载;
mysql官方下载地址:mysql-4.1.14-win32.zip,更多镜像下载地址,更多版本下载。
Apache的配置:
我一开始怎么搞都不好,我上网找,有的说是iis的问题,有的说是 ......
一、MySQL 获得当前日期时间 函数
1.1 获得当前日期+时间(date + time)函数:now()
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2008-08-08 22:20:46 |
+---------------------+
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: ......
一 . 安装与配置MYSQL
二 . 常用mysql命令行命令
1 .mysql的启动与停止
启动MYSQL服务 net start mysql
停止MYSQL服务 net stop mysql
2 . netstat –na | findstr 3306 查看被监听的端口 , findstr用于查找后面的端口是否存在
3 . 在命令行中登陆MYSQL控制台 , 即使用 MYSQL COMMEND LINE TOOL
& ......
安装mysql
gem install mysql
使用mysql,如,rake db:migrate
会报错:
E:\study\ruby\rails_space>rake db:migrate
(in E:/study/ruby/rails_space)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
193: ......