DESCRIBE
Описание
Этот оператор выводит информацию о схеме указанной таблицы.
Синтаксис
DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
Обязательные параметры
1.<table_name>
Указывает идентификатор (то есть имя) таблицы, который должен быть уникальным в пределах её базы данных.
Идентификатор должен начинаться с буквы (или символа любого языка, если включена поддержка имён Unicode) и не может содержать пробелы или специальные символы, если только вся строка идентификатора не заключена в обратные кавычки (например,
My Object).В качестве идентификатора нельзя использовать зарезервированные ключевые слова.
Подробности см. в требованиях к идентификаторам и перечне зарезервированных ключевых слов.
Необязательные параметры
1.<ctl_name>.<db_name>
Указывает идентификаторы (то есть имена) Catalog и базы данных.
Идентификатор должен начинаться с буквы (или символа любого языка, если включена поддержка имён Unicode) и не может содержать пробелы или специальные символы, если только вся строка идентификатора не заключена в обратные кавычки (например,
My Database).В качестве идентификатора нельзя использовать зарезервированные ключевые слова.
Подробности см. в требованиях к идентификаторам и перечне зарезервированных ключевых слов.
2.ALL
Применим только к внутренним таблицам. Возвращает информацию обо всех индексах внутренних таблиц.
Возвращаемое значение
Если ALL не указан, возвращается следующий результат:
| Столбец | Описание |
|---|---|
| Field | Имя столбца |
| Type | Тип данных |
| Null | Допускаются ли значения NULL |
| Key | Является ли столбец ключевым |
| Default | Значение по умолчанию |
| Extra | Дополнительная информация |
В версии 3.0.7 добавлена новая переменная сеанса show_column_comment_in_describe. Если она установлена в true, в результат добавляется столбец Comment с комментариями к столбцам.
Если указан ALL, для внутренних таблиц возвращается следующий результат:
| Столбец | Описание |
|---|---|
| IndexName | Имя таблицы |
| IndexKeysType | Модель таблицы |
| Field | Имя столбца |
| Type | Тип данных |
| Null | Допускаются ли значения NULL |
| Key | Является ли столбец ключевым |
| Default | Значение по умолчанию |
| Extra | Дополнительная информация |
| Visible | Является ли столбец видимым |
| DefineExpr | Выражение определения |
| WhereClause | Определения, связанные с условием фильтрации |
Управление правами доступа
Пользователи, выполняющие эту команду SQL, должны иметь как минимум следующие права:
| Право (привилегия) | Объект | Примечания |
|---|---|---|
| SELECT_PRIV | Таблица | Для выполнения DESC необходимо право SELECT_PRIV на запрашиваемую таблицу |
Примеры
Подготовка: создайте таблицу test_table для примеров ниже:
CREATE TABLE test_table (
user_id BIGINT NOT NULL COMMENT 'Key1',
name VARCHAR(20) COMMENT 'username',
age INT COMMENT 'user_age'
) ENGINE=OLAP
UNIQUE KEY (user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES ("replication_num" = "1");
- Вывод схемы базовой таблицы
DESC test_table;
+---------+-------------+------+-------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-------+---------+-------+
| user_id | bigint | No | true | NULL | |
| name | varchar(20) | Yes | false | NULL | NONE |
| age | int | Yes | false | NULL | NONE |
+---------+-------------+------+-------+---------+-------+
Установите show_column_comment_in_describe = true (параметр появился в версии 3.0.7), чтобы добавить в вывод столбец Comment:
SET show_column_comment_in_describe=true;
DESC test_table;
+---------+-------------+------+-------+---------+-------+----------+
| Field | Type | Null | Key | Default | Extra | Comment |
+---------+-------------+------+-------+---------+-------+----------+
| user_id | bigint | No | true | NULL | | Key1 |
| name | varchar(20) | Yes | false | NULL | NONE | username |
| age | int | Yes | false | NULL | NONE | user_age |
+---------+-------------+------+-------+---------+-------+----------+
- Вывод схемы всех индексов таблицы
DESC test_table ALL;
+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
| IndexName | IndexKeysType | Field | Type | InternalType | Null | Key | Default | Extra | Visible | DefineExpr | WhereClause |
+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
| test_table | UNIQUE_KEYS | user_id | bigint | bigint | No | true | NULL | | true | | |
| | | name | varchar(20) | varchar(20) | Yes | false | NULL | NONE | true | | |
| | | age | int | int | Yes | false | NULL | NONE | true | | |
+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+