select `name` from mysql.proc where db = 'xx' and `type` = 'PROCEDURE' //存储过程
select `name` from mysql.proc where db = 'xx' and `type` = 'FUNCTION' //函数
show procedure status; //存储过程
show function status; //函数
2.查看存储过程或函数的创建代码
show create procedure proc_name;
show create function func_name;
3.查看视图
SELECT * from information_schema.VIEWS //视图
SELECT * from information_schema.TABLES //表
4.查看触发器
SHOW TRIGGERS [FROM db_name] [LIKE expr]
SELECT * FROM triggers T WHERE trigger_name=”mytrigger” \G
二、Mysql查看数据库及数据表大小
用SQL命令查看Mysql数据库大小
要想知道每个数据库的大小的话,步骤如下:
1、进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;
2、查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
3、查看指定数据库的大小:
比如查看数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';
4、查看指定数据库的某个表的大小
比如查看数据库home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';
三、不进入Mysql执行mysql命令方法
1.使用-e参数
mysql -u root -p xxxxxx -e "show databases;"
2.使用eof写入命令
mysql -u root -p xxxxxx << eof
show databases;
eof
3.使用echo 命令写入
echo "show databases;" | mysql -u root -p xxxxxx
4.将命令写入sql 文件并执行
cat show.sql show databases; mysql -u root -p xxxxxx < show.sql
5.参数传递
MYSQLCMD="mysql -hhost -uuser -ppasswd db" CODE="SELECT * FROM table" echo "${CODE}" | ${MYSQLCMD}