Chinaunix首页 | 论坛 | 博客
  • 博客访问: 523435
  • 博文数量: 235
  • 博客积分: 1209
  • 博客等级: 少尉
  • 技术积分: 1417
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-19 19:59
文章分类

全部博文(235)

文章存档

2012年(107)

2011年(128)

分类:

2011-11-23 00:35:04

原文地址:MYSQL系统信息相关 作者:file3

1.获得DB列表
  1. SHOW database [LIKE wild]
  1. MYSQL_RES *mysql_list_dbs(MYSQL *mysql, const char *wild)
2.获得table列表
  1. SHOW TABLES
  2. SHOW TABLES STATUS
  1. MYSQL_RES *mysql_list_tables(MYSQL *mysql, const char *wild)
  注:SHOW TABLE和MYSQL_RES *mysql_list_tables(MYSQL *mysql, const char *wild)是很不安全的。因为他们会将VIEW也放在TABLE列表中。
  建议使用:
  1. SHOW TABLE STATUS
  2. FROM database
  3. WHERE comment <> 'VIEW';
3. 获得表结构
  1. SHOW CREATE TABLE table_name
  2. SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
  3. DESC table_name
  1. MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)
 MYSQL_FIELD结构体请参照:http://dev.mysql.com/doc/refman/5.1/en/c-api-data-structures.html
 MYSQL官方文档提示:“注意,建议使用SHOW COLUMNS FROM tbl_name,而不是mysql_list_fields()。”
4.获得索引
  1. SHOW INDEX FROM table_name
。结果集中列的意义请参照:http://dev.mysql.com/doc/refman/5.1/en/show-index.html
5.获得数据库中的VIEW列表
  1. SHOW TABLE STATUS
  2. FROM database
  3. WHERE comment = 'VIEW';
6.获得创建VIEW的SQL
  1. SHOW CREATE VIEW view_name
7.获得存储过程列表。
  1. SELECT ROUTINE_NAME
  2. FROM INFORMATION_SCHEMA.ROUTINES
  3. WHERE ROUTINE_TYPE="PROCEDURE"
  4. AND ROUTINE_SCHEMA="dbname";
  请参照http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html#routines-table
  http://dev.mysql.com/doc/refman/5.0/en/routines-table.html
8.获得存储过程的相关信息
  1. SHOW CREATE PROCEDURE proc_name
  2. SHOW PROCEDURE CODE proc_name
  3. SHOW PROCEDURE STATUS [like_or_where]
  mysql官方文档:“你可以从INFORMATION_SCHEMA中的ROUTINES表获得有关存储子程序的信息”。
9.获得数据库中的触发器的列表
  1. SHOW TRIGGERS [FROM db_name] [LIKE expr]
  请参照:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#show-triggers  
10.获得创建触发器的SQL
  1. SHOW CREATE TRIGGER trigger_name

11.获得描述当前服务器线程的结果集
  1. SHOW [FULL] PROCESSLIST
  1. MYSQL_RES *mysql_list_processes(MYSQL *mysql)
12.获得用户列表
  1. SELECT * FROM mysql.user
  关于用户操作的SQL语句CREATE USER,DROP USER,GRANT,RENAME USER,REVOKE,SET PASSWORD。请参照:http://dev.mysql.com/doc/refman/5.1/en/account-management-sql.html
13.SHOW PRIVILEGES
  SHOW PRIVILEGES显示MySQL服务器支持的系统权限清单。确切的输出根据您的服务器的版本而定。
14.在mysql中有两个默认的数据库mysql和information_schema。关于这两个数据库的相关信息我还没找到。请谁找到之后给我说一声谢谢。
阅读(1089) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~