Example 1
List column names for one table
Schema-inspection pages need per-engine output because even equivalent types are often labeled differently.
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));SQL
SHOW COLUMNS
FROM
books;| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| id | int | YES | NULL | ||
| title | varchar(50) | YES | NULL |
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));SQL
SHOW COLUMNS
FROM
books;| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| id | int(11) | YES | NULL | ||
| title | varchar(50) | YES | NULL |
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));SQL
SELECT
COLUMN_NAME,
DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'books'
ORDER BY
ORDINAL_POSITION;| COLUMN_NAME | DATA_TYPE |
|---|---|
| id | int |
| title | varchar |
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));SQL
SELECT
column_name,
data_type
FROM
information_schema.columns
WHERE
table_schema = 'public'
AND table_name = 'books'
ORDER BY
ordinal_position;| column_name | data_type |
|---|---|
| id | integer |
| title | character varying |
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));SQL
PRAGMA table_info (books);| cid | name | type | notnull | dflt_value | pk |
|---|---|---|---|---|---|
| 0 | id | INT | 0 | NULL | 0 |
| 1 | title | VARCHAR(50) | 0 | NULL | 0 |
Data type names and metadata columns differ materially across engines, so normalization would hide real differences.