推荐阅读: 使用SQL查询所有数据库名和表名

查询语句

  • 查询所有数据库
show databases;
  • 查询指定数据库中所有表名
select table_name from information_schema.tables 
	where table_schema='database_name'
  • 查询指定表中的所有字段名
select column_name from information_schema.columns 
	where table_schema='database_name' and table_name='table_name';
  • 查询指定表中的所有字段名和字段类型
select column_name,data_type from information_schema.columns 
	where table_schema='database_name' and table_name='table_name';
  • 检查 mysql 数据库是否存在
SELECT information_schema.SCHEMATA.SCHEMA_NAME FROM information_schema.SCHEMATA 
	where SCHEMA_NAME='database_name'; 
或
CREATE DATABASE IF NOT EXISTS data_name;
  • 查询指定数据库下,是否存在某张表
SELECT DISTINCT t.table_name, n.SCHEMA_NAME FROM information_schema.TABLES t, information_schema.SCHEMATA n 
	WHERE t.table_name = 'tableName' AND n.SCHEMA_NAME = 'databaseName';

information_schema.tables字段说明

  • table_catalog: 数据表登记目录
  • table_schema: 数据表所属的数据库名
  • table_name: 表名称
  • table_type: 表类型[system view|base table]
  • engine: 使用的数据库引擎[MyISAM|CSV|InnoDB]
  • version: 版本,默认值10
  • row_format: 行格式[Compact|Dynamic|Fixed]
  • table_rows: 表里所存多少行数据
  • avg_row_length: 平均行长度
  • data_length: 数据长度
  • max_data_length: 最大数据长度
  • index_length: 索引长度
  • data_free: 空间碎片
  • auto_increment: 做自增主键的自动增量当前值
  • create_time: 表的创建时间
  • update_time: 表的更新时间
  • check_time: 表的检查时间
  • table_collation: 表的字符校验编码集
  • checksum: 校验和
  • create_options: 创建选项
  • table_comment: 表的注释、备注