sqlite3 объяснить имя_таблицы - PullRequest
1 голос
/ 11 ноября 2010

В mysql вы можете просмотреть структуру таблицы через explain tablename; Что эквивалентно sqlite3?

Ответы [ 3 ]

2 голосов
/ 11 ноября 2010

Я считаю, что ".schema tablename" - это то, что вы ищете.

2 голосов
/ 11 ноября 2010

На этот вопрос уже был дан более общий ответ здесь .

Редактировать

Обратите внимание, что .schema также даст вам ИНДЕКСЫ, которые совпадают с тем же именем.

Пример:

CREATE TABLE job (
    id INTEGER PRIMARY KEY,
    data VARCHAR
);
CREATE TABLE job_name (
    id INTEGER PRIMARY KEY,
    name VARCHAR
);
CREATE INDEX job_idx on job(data);

Обратите внимание на различия между:

sqlite> SELECT sql FROM SQLITE_MASTER WHERE type = 'table' AND name = 'job';
CREATE TABLE job (
        id INTEGER PRIMARY KEY,
        data VARCHAR
    )
sqlite> SELECT sql FROM SQLITE_MASTER WHERE name = 'job_idx';
CREATE INDEX job_idx on job(data)

и

sqlite> .schema job
CREATE TABLE job (
        id INTEGER PRIMARY KEY,
        data VARCHAR
    );
CREATE INDEX job_idx on job(data);

Включая точку с запятой в конце запросов.

2 голосов
/ 11 ноября 2010

Вы можете использовать .schema в командной строке :

Без аргументов, ".schema" команда показывает оригинал CREATE Операторы TABLE и CREATE INDEX, которые были использованы для создания текущего база данных. Если вы дадите имя таблица ".schema", она показывает оригинальное заявление CREATE используется для эта таблица и все, если ее индексы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...