1. 程式人生 > >MySQL常用表結構查詢語句

MySQL常用表結構查詢語句

在我們使用數MySQL據庫進行查詢或者建表時,經常需要查看錶結構,下面以employees資料庫中的departments表為例進行表結構查詢:

方法 1:DESC departments;

方法 2:DESCRIBE departments;

方法 3:SHOW COLUMNS FROM departments;

以上三種方法的查詢結果相同:

Field      Type          Null  Key  Default  Extra
dept_no    char(4)      NO    PRI
dept_name  varchar(40)  NO    UNI

方法 4: 借用MySQL自身的information_schema資料庫,輸入如下指令:

--  方法4
SELECT *
FROM information_schema.COLUMNS
WHERE table_schema = 'employees' AND table_name = 'departments';

--  方法4簡化版(需要處於 information_schema資料庫內)
SELECT * FROM COLUMNS
WHERE table_name = 'departments';

查詢結果如下:

mysql> SELECT *
    -> FROM information_schema.COLUMNS
    -> WHERE table_schema = 'employees' AND table_name = 'departments'\G
*************************** 1. row ***************************
          TABLE_CATALOG: def
            TABLE_SCHEMA: employees
              TABLE_NAME: departments
            COLUMN_NAME: dept_no
        ORDINAL_POSITION: 1
          COLUMN_DEFAULT: NULL
            IS_NULLABLE: NO
              DATA_TYPE: char
CHARACTER_MAXIMUM_LENGTH: 4
  CHARACTER_OCTET_LENGTH: 12
      NUMERIC_PRECISION: NULL
          NUMERIC_SCALE: NULL
      DATETIME_PRECISION: NULL
      CHARACTER_SET_NAME: utf8
          COLLATION_NAME: utf8_general_ci
            COLUMN_TYPE: char(4)
              COLUMN_KEY: PRI
                  EXTRA:
              PRIVILEGES: select,insert,update,references
          COLUMN_COMMENT:
  GENERATION_EXPRESSION:
*************************** 2. row ***************************
          TABLE_CATALOG: def
            TABLE_SCHEMA: employees
              TABLE_NAME: departments
            COLUMN_NAME: dept_name
        ORDINAL_POSITION: 2
          COLUMN_DEFAULT: NULL
            IS_NULLABLE: NO
              DATA_TYPE: varchar
CHARACTER_MAXIMUM_LENGTH: 40
  CHARACTER_OCTET_LENGTH: 120
      NUMERIC_PRECISION: NULL
          NUMERIC_SCALE: NULL
      DATETIME_PRECISION: NULL
      CHARACTER_SET_NAME: utf8
          COLLATION_NAME: utf8_general_ci
            COLUMN_TYPE: varchar(40)
              COLUMN_KEY: UNI
                  EXTRA:
              PRIVILEGES: select,insert,update,references
          COLUMN_COMMENT:
  GENERATION_EXPRESSION:

建表資訊查詢 :  show create table departments\G

mysql> show create table departments\G
*************************** 1. row ***************************
      Table: departments
Create Table: CREATE TABLE `departments` (
  `dept_no` char(4) NOT NULL,
  `dept_name` varchar(40) NOT NULL,
  PRIMARY KEY (`dept_no`),
  UNIQUE KEY `dept_name` (`dept_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)