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 -proot
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 4
- Server 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 license
- Type '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 changed
- mysql> 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.tables where table_schema='数据库名';
代码:
- Microsoft Windows [版本 6.1.7600]
- 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
- C:\Windows\System32>mysql -uroot -proot
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 5
- Server 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 license
- Type '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 changed
- mysql> 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>