Есть ли эквивалент SQLite для MySQL DESCRIBE [таблица]?

Я только начинаю изучать SQLite. Было бы неплохо видеть детали таблицы, например MySQL DESCRIBE [table]. PRAGMA table_info [table] недостаточно хорош, так как он имеет только базовую информацию (например, он не показывает, является ли столбец каким-то полем или нет). Есть ли у SQLite способ сделать это?

Ответ 2

PRAGMA table_info([tablename]);

Ответ 3

Вы ищете SQL, который используется для создания таблицы? Для этого вы можете запросить таблицу sqlite_master:

sqlite> CREATE TABLE foo (bar INT, quux TEXT);
sqlite> SELECT * FROM sqlite_master;
table|foo|foo|2|CREATE TABLE foo (bar INT, quux TEXT)
sqlite> SELECT sql FROM sqlite_master WHERE name = 'foo';
CREATE TABLE foo (bar INT, quux TEXT)

Ответ 4

Чтобы просмотреть все таблицы:

.tables

Чтобы увидеть конкретную таблицу:

.schema [tablename]

Ответ 5

Чтобы не вводить людей в заблуждение некоторыми комментариями к другим ответам:

  1. Если .schema или query from sqlite_master не дает никаких выходных данных, это указывает на несуществующее имя tablename, например, это также может быть вызвано a ; точка с запятой в конце для .schema, .tables ,... или просто потому, что таблицы действительно не существует. То, что .schema просто не работает, очень маловероятно, и тогда отчет об ошибках должен быть подан в проект sqlite.

....schema можно использовать только из командной строки; вышеуказанные команды> могут быть запущены как запрос через библиотеку (Python, С# и т.д.). - Марк Рушаков 25 июля 2010 года в 21:09

  1. "может использоваться только из командной строки" может ввести в заблуждение людей. Практически любой (вероятно, любой?) Язык программирования может вызывать другие программы/команды. Поэтому цитируемый комментарий неудачен, так как вызов другой программы, в данном случае sqlite, с большей вероятностью будет поддерживаться, чем то, что язык предоставляет wrapper/library для каждой программы (которая не только подвержена неполноте из-за самой природы масс программы там, но также противодействует single-source principle, усложняя maintenance, продвигая хаос данных в мире).