MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称
MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称
INFORMATION_SCHEMA.TABLES
INFORMATION_SCHEMA.TABLES
是MySQL自带的(被视作)一个信息数据库,保存着MySQL服务器所维护的其他数据库的信息。INFORMATION_SCHEMA.TABLES
其中有数个只读表,实际上是视图,不是基本表,因此无法看到任何相关的文件。INFORMATION_SCHEMA.TABLES中各种字段名见此
-
查询(基础)表 方法一
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_TYPE = 'BASE TABLE';
返回举例:
mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_TYPE = 'BASE TABLE'; +------------+ | TABLE_NAME | +------------+ | t | +------------+ 1 row in set (0.00 sec)
查询(基础)表 方法二
USE TABLE xxx SHOW TABLES;
返回举例:
mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | t | +----------------+ 1 row in set (0.00 sec)
-
查询视图
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_TYPE = 'VIEW';
-
查询所有触发器
SELECT * FROM information_schema.`triggers`;
测试证明,information_schema也遵循 “Linux平台MySQL不区分大小写”
mysql.proc
-
查询所有函数
SELECT name FROM mysql.proc WHERE db='数据库名' and type='funtion';
-
查询所有存储过程
SELECT name FROM mysql.proc WHERE db='数据库名' and type='procedure';
检测
mysql> SELECT name FROM mysql.proc WHERE db='test' and type='procedure'; +-------------------+ | name | +-------------------+ | add_sum | | add_sum_procedure | | findByNums | +-------------------+ 3 rows in set (0.00 sec)
Mysql.user
- 查询数据库用户
当前版本、用户、数据库
mysql>SELECT VERSION(),USER(),DATABASE();
#Linux 大写V
mysql -V
对表查询
-
查询表中的所有索引
SELECT INDEX FROM table_name;
-
查询建表的语句
SELECT CREATE TABLE table_name;
(0701)
-
查看所有用户权限(0716)
select * from mysql.user where user = 'user_name'; 或者 show grants for user_name;