DBAtlas · Атлас эксплуатации баз данных

Показать столбцы / структуру таблицы (describe)

Oracle

SELECT column_name, data_type, data_length, nullable
FROM user_tab_columns
WHERE table_name = 'EMPLOYEE'
ORDER BY column_id;
-- Shortcut (SQL*Plus): DESC employee

Имена таблиц хранятся в верхнем регистре (если созданы без кавычек).

PostgreSQL

SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'customer'
ORDER BY ordinal_position;
-- psql shortcut: \d customer

\d показывает также индексы, ограничения и внешние ключи.

MySQL

DESCRIBE customer;
-- or: SHOW COLUMNS FROM customer;

Для полного определения используйте SHOW CREATE TABLE customer; (см. понятие «Сгенерировать DDL» ниже).

SQL Server

SELECT c.name, t.name AS type, c.max_length, c.is_nullable
FROM sys.columns c
JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE c.object_id = OBJECT_ID('dbo.customer')
ORDER BY c.column_id;
-- Shortcut: EXEC sp_help 'dbo.customer';

sp_help помимо столбцов выводит индексы и ограничения.

MongoDB

// The schema is flexible; infer it from a sample document:
db.customer.findOne()
// For field coverage: db.customer.aggregate([{ $sample: { size: 100 } }])

В MongoDB нет фиксированной схемы; поля могут различаться от документа к документу. Если задан валидатор $jsonSchema, его можно увидеть через db.getCollectionInfos.

Redis

TYPE mykey        # string | list | set | hash | zset | stream
OBJECT ENCODING mykey   # internal encoding

Фиксированной схемы нет; тип и кодировка каждого ключа запрашиваются отдельно. Для полей hash используйте HGETALL.

Открыть в DBAtlas →