sqlcmd.net validated sql reference
beginner metadata MySQL MariaDB SQL Server PostgreSQL SQLite

List Columns In A Table

Inspect a table definition to see its column names and data types.

Docker-validated Not currently validation-green

List column names for one table

Schema-inspection pages need per-engine output because even equivalent types are often labeled differently.

MySQL
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));
SQL
SHOW COLUMNS
FROM
  books;
FieldTypeNullKeyDefaultExtra
idintYESNULL
titlevarchar(50)YESNULL
MariaDB
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));
SQL
SHOW COLUMNS
FROM
  books;
FieldTypeNullKeyDefaultExtra
idint(11)YESNULL
titlevarchar(50)YESNULL
SQL Server
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_NAMEDATA_TYPE
idint
titlevarchar
PostgreSQL
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_namedata_type
idinteger
titlecharacter varying
SQLite
Engine-specific syntax
Setup
CREATE TABLE books (id INT, title VARCHAR(50));
SQL
PRAGMA table_info (books);
cidnametypenotnulldflt_valuepk
0idINT0NULL0
1titleVARCHAR(50)0NULL0

Data type names and metadata columns differ materially across engines, so normalization would hide real differences.

Where this command helps.

  • checking available columns before writing a query
  • verifying column types after a schema migration

What the command is doing.

Column inspection is common when exploring a schema. The exact metadata query differs by engine, but the concept is stable: return one row per column in the target table.