Getting Information About Databases and Tables
What if you forget the name of a database or table, or what the structure of a given table is (for example, what its columns are called)? MySQL addresses this problem through several statements that provide information about the databases and tables it supports.
You have previously seen SHOW DATABASES
, which lists the databases managed by the server. To find out which database is currently selected, use the DATABASE()
function:
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
If you have not yet selected any database, the result is NULL
.
To find out what tables the default database contains (for example, when you are not sure about the name of a table), use this command:
mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event |
| pet |
+---------------------+
The name of the column in the output produced by this statement is always Tables_in_
, where db_name
db_name
is the name of the database. See Section 12.4.5.38, “SHOW TABLES
Syntax”, for more information.
If you want to find out about the structure of a table, the DESCRIBE
statement is useful; it displays information about each of a table's columns:
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field
indicates the column name, Type
is the data type for the column, NULL
indicates whether the column can contain NULL
values, Key
indicates whether the column is indexed, and Default
specifies the column's default value. Extra
displays special information about columns: If a column was created with the AUTO_INCREMENT
option, the value will be auto_increment
rather than empty.
DESC
is a short form of DESCRIBE
. See Section 12.8.1, “DESCRIBE
Syntax”, for more information.
You can obtain the CREATE TABLE
statement necessary to create an existing table using the SHOW CREATE TABLE
statement. See Section 12.4.5.12, “SHOW CREATE TABLE
Syntax”.
'IT' 카테고리의 다른 글
Calculating Visits Per Day (0) | 2011.08.26 |
---|---|
Using User-Defined Variables (0) | 2011.08.26 |
using More Than one Table (0) | 2011.08.26 |
Counting Rows (0) | 2011.08.26 |
Pattern Matching (0) | 2011.08.26 |