shaoqin 发表于 2016-10-20 07:35:57

查询mysql数据库(某个数据库)某张表的所有列名;查询某个数据库所有表名

mysql数据库中有张表information_schema.columns;它记录了所有表的列的信息;
  select column_name from information_schema.columns where table_name='***';

  

  上代码:
  
Microsoft Windows [版本 6.1.7600]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Windows\System32>mysql -uroot -prootWelcome to the MySQL monitor.Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.1.57-community MySQL Community Server (GPL)Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.This software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL v2 licenseType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;+--------------------+| Database         |+--------------------+| information_schema || default            || discount         || mydb               || mysql            || test               |+--------------------+6 rows in set (0.00 sec)mysql> use mydb;Database changedmysql> show tables;+----------------+| Tables_in_mydb |+----------------+| guestbook      || user         |+----------------+2 rows in set (0.00 sec)mysql> describe information_schema.columns;+--------------------------+---------------------+------+-----+---------+-------+| Field                  | Type                | Null | Key | Default | Extra|+--------------------------+---------------------+------+-----+---------+-------+| TABLE_CATALOG            | varchar(512)      | YES|   | NULL    ||| TABLE_SCHEMA             | varchar(64)         | NO   |   |         ||| TABLE_NAME               | varchar(64)         | NO   |   |         ||| COLUMN_NAME            | varchar(64)         | NO   |   |         ||| ORDINAL_POSITION         | bigint(21) unsigned | NO   |   | 0       ||| COLUMN_DEFAULT         | longtext            | YES|   | NULL    ||| IS_NULLABLE            | varchar(3)          | NO   |   |         ||| DATA_TYPE                | varchar(64)         | NO   |   |         ||| CHARACTER_MAXIMUM_LENGTH | bigint(21) unsigned | YES|   | NULL    ||| CHARACTER_OCTET_LENGTH   | bigint(21) unsigned | YES|   | NULL    ||| NUMERIC_PRECISION      | bigint(21) unsigned | YES|   | NULL    ||| NUMERIC_SCALE            | bigint(21) unsigned | YES|   | NULL    ||| CHARACTER_SET_NAME       | varchar(32)         | YES|   | NULL    ||| COLLATION_NAME         | varchar(32)         | YES|   | NULL    ||| COLUMN_TYPE            | longtext            | NO   |   | NULL    ||| COLUMN_KEY               | varchar(3)          | NO   |   |         ||| EXTRA                  | varchar(27)         | NO   |   |         ||| PRIVILEGES               | varchar(80)         | NO   |   |         ||| COLUMN_COMMENT         | varchar(255)      | NO   |   |         ||+--------------------------+---------------------+------+-----+---------+-------+19 rows in set (0.02 sec)mysql> select column_name from information_schema.columns-> where table_schema='mydb'-> and table_name='guestbook';+-------------+| column_name |+-------------+| id          || name      || email       || url         || title       || content   || time      |+-------------+7 rows in set (0.01 sec)mysql> select column_name from information_schema.columns-> where table_name='guestbook';+-------------+| column_name |+-------------+| id          || name      || email       || url         || title       || content   || time      |+-------------+7 rows in set (0.01 sec)mysql>

  
  

  

mysql中有张表information_schema.tables记录了所有表的信息
  select TABLE_NAME from information_schema.tableswhere table_schema='数据库名';

  代码:
  Microsoft Windows [版本 6.1.7600]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Windows\System32>mysql -uroot -prootWelcome to the MySQL monitor.Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.1.57-community MySQL Community Server (GPL)Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.This software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL v2 licenseType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;+--------------------+| Database         |+--------------------+| information_schema || default            || discount         || mydb               || mysql            || test               |+--------------------+6 rows in set (0.00 sec)mysql> use mydb;Database changedmysql> show tables;+----------------+| Tables_in_mydb |+----------------+| guestbook      || user         |+----------------+2 rows in set (0.00 sec)mysql> describe information_schema.tables;+-----------------+---------------------+------+-----+---------+-------+| Field         | Type                | Null | Key | Default | Extra |+-----------------+---------------------+------+-----+---------+-------+| TABLE_CATALOG   | varchar(512)      | YES|   | NULL    |       || TABLE_SCHEMA    | varchar(64)         | NO   |   |         |       || TABLE_NAME      | varchar(64)         | NO   |   |         |       || TABLE_TYPE      | varchar(64)         | NO   |   |         |       || ENGINE          | varchar(64)         | YES|   | NULL    |       || VERSION         | bigint(21) unsigned | YES|   | NULL    |       || ROW_FORMAT      | varchar(10)         | YES|   | NULL    |       || TABLE_ROWS      | bigint(21) unsigned | YES|   | NULL    |       || AVG_ROW_LENGTH| bigint(21) unsigned | YES|   | NULL    |       || DATA_LENGTH   | bigint(21) unsigned | YES|   | NULL    |       || MAX_DATA_LENGTH | bigint(21) unsigned | YES|   | NULL    |       || INDEX_LENGTH    | bigint(21) unsigned | YES|   | NULL    |       || DATA_FREE       | bigint(21) unsigned | YES|   | NULL    |       || AUTO_INCREMENT| bigint(21) unsigned | YES|   | NULL    |       || CREATE_TIME   | datetime            | YES|   | NULL    |       || UPDATE_TIME   | datetime            | YES|   | NULL    |       || CHECK_TIME      | datetime            | YES|   | NULL    |       || TABLE_COLLATION | varchar(32)         | YES|   | NULL    |       || CHECKSUM      | bigint(21) unsigned | YES|   | NULL    |       || CREATE_OPTIONS| varchar(255)      | YES|   | NULL    |       || TABLE_COMMENT   | varchar(80)         | NO   |   |         |       |+-----------------+---------------------+------+-----+---------+-------+21 rows in set (0.01 sec)mysql> select TABLE_NAME from information_schema.tables-> where table_schema='mydb';+------------+| TABLE_NAME |+------------+| guestbook|| user       |+------------+2 rows in set (0.00 sec)mysql>
页: [1]
查看完整版本: 查询mysql数据库(某个数据库)某张表的所有列名;查询某个数据库所有表名