当前位置: 首页 > news >正文

mysql show命令集合

为什么80%的码农都做不了架构师?>>>   hot3.png

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

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

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

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

1,创建:

mysql show命令集合 - 天命执行官 - 人生如梦create procedure procedure_name() select * from table_name;

2,调用:

mysql show命令集合 - 天命执行官 - 人生如梦call procedure_name;

3,查看:

mysql show命令集合 - 天命执行官 - 人生如梦查看过程的内容有三种方法:
mysql show命令集合 - 天命执行官 - 人生如梦1,show create procedure procedure_name;
mysql show命令集合 - 天命执行官 - 人生如梦2,show procedure status like 'procedure_name'
mysql show命令集合 - 天命执行官 - 人生如梦3,select * from mysql.proc where name='procedure_name'

4,删除:

mysql show命令集合 - 天命执行官 - 人生如梦drop procedure procedure_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


转载于:https://my.oschina.net/cgjcgs/blog/393962

相关文章:

  • 单例模式的N种写法(Java版)
  • 基于dba_hist_sqlstat查看sql语句的性能历史
  • es6
  • win32之全屏窗口
  • 【ocp新题库】052最新考题收集整理-第7题
  • 蓝桥杯-基础练习12 十六进制转八进制
  • 8 quick ways to clear up drive space in Windows 10
  • 【原创】Hacker学习发展流程图 V1.0
  • 设计模式(八)_门面模式
  • centos 中文乱码解决办法
  • Confluence 6 WebDAV 禁用严格路径检查
  • 并查集——向量偏移
  • 洛谷P3952 时间复杂度
  • XSS Filter Evasion Cheat Sheet 中文版
  • 【Android Studio安装部署系列】二十七、Android studio修改项目名称和包名
  • 【Leetcode】101. 对称二叉树
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • download使用浅析
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Java读取Properties文件的六种方法
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • webgl (原生)基础入门指南【一】
  • 电商搜索引擎的架构设计和性能优化
  • 简单实现一个textarea自适应高度
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 学习Vue.js的五个小例子
  • 栈实现走出迷宫(C++)
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 阿里云移动端播放器高级功能介绍
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​虚拟化系列介绍(十)
  • !!java web学习笔记(一到五)
  • #pragma once与条件编译
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET CORE Aws S3 使用
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET DataGridView数据绑定说明
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [20170713] 无法访问SQL Server
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [android] 天气app布局练习
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [autojs]逍遥模拟器和vscode对接
  • [bzoj 3534][Sdoi2014] 重建
  • [BZOJ3223]文艺平衡树
  • [HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页
  • [MAC OS] 常用工具
  • [NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析