MySQL存储过程学习
http://www.mysql.cn/
事务,参数,嵌套调用,游标,循环, 触发器,视图,约束, 索引,。。。
1. 创建实例数据库
create database db5;
use db5;
2.创建一个简单的工作表,并插入数据
create table t(s1 int);
insert into t values(5);
3.创建程序实例 create procedure Example
create procedure p1() select * from t;
SQL语句存储过程的第一部分是 create procedure
第二部分是过程名:上面新存储过程的名字是p1。
第三部分书参数列表(),第四部分是程序的主体,“select * from t”
*****什么样的MySQL语句在存储过程体中是合法的?
在存储过程体中可以包含所有的合法SQL数据库定义语言,insert,update,delete,drop,create,replace等等语句
包括(set,commit,rollback)但是,在代码中如果包含MYSQL的扩充功能,那么代码将不能移植。
4. 调用存储过程,所需要输入的就是call和你过程名以及一个括号。
call p1();
5.过程中的特征子句
create procedure p2()
language SQL
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
select current_date,rand() from t;
反映存储过程特性的子句.子句内容在括号之后,主体之前.这些
子句都是可选的,他们有什么作用呢
LANGUAGE SQL子句是没有作用的.仅仅是为了说明下面过程的主体使用SQL语
言编写.这条是系统默认的,但你在这里声明是有用的,因为某些DBMS(IBM的DB2)需要
它,如果你关注DB2的兼容问题最好还是用上.此外,今后可能会出现除SQL外的其他语言
支持的存储过程
NOT DETERMINISTIC,是传递给系统的信息.这里一个确定过程的定义就是那
些每次输入一样输出也一样的程序
SQL SECURITY,可以定义为SQL SECURITY DEFINER或SQL SECURITY
INVOKER.
这就进入了权限控制的领域了,SQL SECURITY DEFINER意味着在调用时检查创建过程用户的权限(另一个选项是SQL SECURITY
INVOKER). 在而言,使用SQL SECURITY DEFINER指令告诉MySQL服务器检查创建过程的用户就
相关文档:
mysql 导数据库命令
mysql命令导数据库脚本。
mysql>create database databaseName
mysql>use yourDatabase
mysql>source d:yourSql.sql
=========================
1.mysql -u root -p Javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" href="http://www.xland.com.cn/article/74/76/0704/Javascript:;" ......
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 my.ini 配置文件详解
#BEGIN CONFIG INFO
#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大
#TYPE: SYSTEM
#END CONFIG INFO
#
# 此mysql配置文件例子针对4G内存
# 主要使用INNODB
#处理复杂队列并且连接数量较少的mysql服务器
#
# 将此文件复制到/etc/my.cnf 作为全局设置,
# mysql-data-d ......
Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。通常我们是使用的explain,以及slow query log都无法做到精确分析,但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.0.37以 ......