`
sony-soft
  • 浏览: 1019371 次
文章分类
社区版块
存档分类
最新评论

mysql 中show 命令用法详细介绍 mysql过程(procedure)的使用

 
阅读更多

a.showtables或showtables from database_name; -- 显示当前数据库中所有表的名称
b.showdatabases; -- 显示mysql中所有数据库的名称
c.showcolumns from table_name from database_name; 或showcolumns from database_name.table_name; -- 显示表中列名称
d. show grants for user_name; -- 显示一个用户的权限,显示结果类似于grant 命令
e.showindex from table_name; -- 显示表的索引
f.showstatus; -- 显示一些系统特定资源的信息,例如,正在运行的线程数量
g.showvariables; -- 显示系统变量的名称和值
h.showprocesslist; -- 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。
i.showtable status; -- 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间
j.showprivileges; -- 显示服务器所支持的不同权限
k.showcreate database database_name; -- 显示create database 语句是否能够创建指定的数据库
l.showcreate table table_name; -- 显示create database 语句是否能够创建指定的数据库
m.showengies; -- 显示安装以后可用的存储引擎和默认引擎。
n.showinnodb status; -- 显示innoDB存储引擎的状态
o.showlogs; -- 显示BDB存储引擎的日志
p.showwarnings; -- 显示最后一个执行的语句所产生的错误、警告和通知
q.showerrors; -- 只显示最后一个执行语句所产生的错误
r.show[storage] engines; --显示安装后的可用存储引擎和默认引擎
s.showprocedure status --显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过
程名称,创建时间等
t.showcreate procedure sp_name --显示某一个存储过程的详细信息

一下午研究了两个内容:触发器与过程.

触发器是在执行某种操作(插入,更新,删除)时(前,后)进行的操作. 这个功能完全可以由C语言实现,而且更简单. mysql中触发器的使用还要涉及到变量之类的,不如用C实现起来简单,所以这里就不介绍了.

过程(procedure)相当于C语言中的子函数:

1,创建:

createprocedureprocedure_name()select*fromtable_name;

2,调用:

call procedure_name;

3,查看:

查看过程的内容有三种方法:
1,showcreateprocedureprocedure_name;
2,showprocedurestatuslike'procedure_name'
3,select*frommysql.procwherename='procedure_name'

4,删除:

dropprocedureprocedure_name;

一些存储过程以及函数的例子

delimiter |
定义procedure
create procedure p2_test1 (OUT para1 int)
begin
select sum(val) into para1 from test1;
end
|
调用procedure
call p2_test1(@sum)|
select @sum|

alter procedure没有研究出来

定义函数
create function f_test1(name char(20)) returns char(20) //参数没有IN,OUT,都是IN
begin
return concat('Hello ',name,' !');
end
|
调用函数
select f_test1('hongjian')|

三种不同的show的用法
show procedure status
show function status
show triggers //注意,没有status

语法:
CREATE PROCEDURE sp_name ([IN |OUT |INOUT] param type,...)
begin
routine_body
end

CREATE FUNCTION sp_name (para,...) RETURNS type
begin
routing_body
end
mysql5支持的存储过程语句
声明 描述

CREATE PROCEDURE 建立一个存放在MySQL数据库的表格的存储过程。
REATE FUNCTION 建立一个用户自定义的函数,尤其是返回数据的存储过程。
ALTER PROCEDURE 更改用CREATE PROCEDURE 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
ALTER FUNCTION 更改用CREATE FUNCTION 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
DROP PROCEDURE 从MySQL的表格中删除一个或多个存储过程。
DROP FUNCTION 从MySQL的表格中删除一个或多个存储函数。
SHOW CREATE PROCEDURE 返回使用CREATE PROCEDURE 建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW CREATE FUNCTION 返回使用CREATE FUNCTION建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW PROCEDURE STATUS 返回一个预先指定的存储过程的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW FUNCTION STATUS 返回一个预先指定的存储函数的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
CALL 调用一个使用CREATE PROCEDURE建立的预先指定的存储过程。
BEGIN ... END 包含一组执行的多声明。
DECLARE 用于指定当地变量、环境、处理器,以及指针。
SET 用于更改当地和全局服务器变量的值。
SELECT ... INTO 用于存储显示变量的纵列。
OPEN 用于打开一个指针。
FETCH 使用特定指针来获得下一列。
CLOSE 用于关闭和打开指针。
IF 一个An if-then-else-end if 声明。
CASE ... WHEN 一个 case声明的结构
LOOP 一个简单的循环结构;可以使用LE***E 语句来退出。
LE***E 用于退出IF,CASE,LOOP,REPEAT以及WHILE 语句。
ITERATE 用于重新开始循环。
REPEAT 在结束时测试的循环。
WHILE 在开始时测试的循环。
RETURNS 返回一个存储过程的值
建一个存储过程
create procedure p1(appid varchar(50))
begin
select APPNAME from APPINFO where ID=appid;
end
在mysq1中不支持create or replace procedure p1()

删除存储过程
drop procedure p1;

若要查看当前数据库中所有已存在的存储过程,则输入:show procedure status;
若要查看某一个存储过程,则输入:show create procedure proc_name;

//使用游标
create procedure p3()
begin
//可以把相同类型的变量放在一起声明
declare sum,t,no_more_record Integer;
DECLARE cursor_total CURSOR FOR select Total from PNUMBER;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_record=1;//此处必须先声明no_more_record
//必须把所有变量都声明完后,才能给变量赋值
set sum=0,t=0,no_more_record=0;//可以在同一行给多个变量赋值
open cursor_total;
repeat
fetch cursor_total into t;//mysql在取下一条记录时,若为空,则将no_more_record赋为1,但其记录还是最后一条记录
if(no_more_record!=1) then
set sum=sum+t;
end if;
until no_more_record
end repeat;//此处必须有分号
close cursor_total;
set no_more_record=0;
end
分享到:
评论

相关推荐

    MySQL 5.1中文手冊

    2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装...

    MySQL 5.1官方简体中文参考手册

    2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装...

    mysql5.1中文手册

    使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 ...

    MYSQL中文手册

    2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过...

    MySQL 5.1参考手册

    MySQL 5.1参考手册.chm 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL...

    MySQL 5.1参考手册中文版

    2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过...

    MySQL 5.1参考手册 (中文版)

    2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装...

    mysql官方中文参考手册

    MySQL 5.1参考手册 目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. ...

    MySQL5创建存储过程的示例

    1 用mysql客户端登入 2 选择数据库 mysql>use test 3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db=’test’ 4 创建一个简单的存储过程 mysql>create procedure hi() select ‘hello’;...

    Mysql导出存储过程

    找到代码一看,是conn.prepareCall("{call config_get(?,?,?)}");这一句出了错。上网查了查,这是在调用存储过程,...到数据库里用show procedure status;看了看,一个存储过程也没有。也就是导数据库时没有导存储过程。

    MySQL5.1参考手册官方简体中文版

    MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 This translation was done by MySQL ...

    mysql 存储过程分页 (按条件 按表名 按字段名称)分页

    更改语句结束符号 delimiter$$ 查看存储过程结构 show create procedure proc_name

    mysql数据库的基本操作语法

    MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息; 约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 常用五类约束: ...

    mysql 查询数据库中的存储过程与函数的语句

    ‘your_db_name’ and `type` = ‘PROCEDURE’ //存储过程 select `name` from mysql.proc where db = ‘your_db_name’ and `type` = ‘FUNCTION’ //函数 方法二: show procedure status; //存储过程 SHOW ...

    skyformat99#MySQL-Tutorial-1#列出存储过程1

    如果要显示具有特定模式的存储过程,例如,名称包含product字符,则可以使用LIKE操作符,如以下命令:SHOW PROCEDURE STATUS WHERE

    MySQL利用procedure analyse()函数优化表结构

    procedure analyse()函数是MySQL内置的对MySQL字段值进行统计分析后给出建议的字段类型。 语法 procesure analyse(max_elements,max_memory) max_elements 指定每列非重复值的最大值,当超过这个值的时候,MySQL...

    MySQL定时执行脚本(计划任务)命令实例

    代码如下:show variables like ‘%sche%’; 将事件计划开启 代码如下:set global event_scheduler =1; 创建存储过程test  代码如下:CREATE PROCEDURE test () BEGIN update examinfo SET endtime = now() WHERE...

    MySQL-cheatsheet:MySQL备忘单

    MySQL备忘单 我什至上传了.sql文件,您可以下载该文件并直接在sql提示符下运行它们。 通用命令 运行SQL文件 source < filename> .sql; 数据定义语言(DDL) 建立资料库 create database cheatsheet ; 使用数据库 ...

Global site tag (gtag.js) - Google Analytics