14

Как вывести список таблиц в файле базы данных SQLite, открытом с помощью ATTACH?

11

Я пытаюсь получить список таблиц и строк внутри этих таблиц в файле базы данных SQLite, после того как я присоединил его с помощью команды ATTACH в инструменте командной строки sqlite3. Какой SQL-запрос я могу использовать для этой цели?

5 ответ(ов)

14

Чтобы увидеть таблицы в базе данных SQLite, выполните несколько шагов:

  1. Для получения списка таблиц в вашей базе данных используйте команду:

    .tables
    
  2. Чтобы узнать, как выглядит структура конкретной таблицы, выполните:

    .schema имя_таблицы
    
  3. Для вывода всех данных из таблицы воспользуйтесь следующим запросом:

    SELECT * FROM имя_таблицы;
    
  4. Чтобы ознакомиться со всеми доступными командами в приглашении SQLite, запустите:

    .help
    

Эти команды помогут вам эффективнее работать с вашей базой данных SQLite.

6

Функции-«помощники» .tables и .schema не обращаются к подключенным базам данных (ATTACHed databases); они просто запрашивают таблицу SQLITE_MASTER для основной базы данных. Поэтому, если вы использовали

ATTACH some_file.db AS my_db;

то вам нужно выполнить следующий запрос:

SELECT name FROM my_db.sqlite_master WHERE type='table';

Обратите внимание, что временные таблицы также не отображаются с помощью .tables; для этого необходимо использовать sqlite_temp_master:

SELECT name FROM sqlite_temp_master WHERE type='table';
4

Похоже, вам нужно обратиться к таблице sqlite_master, например, таким образом:

SELECT * FROM dbname.sqlite_master WHERE type='table';

После этого вам следует вручную просмотреть каждую таблицу с помощью команды SELECT или аналогичной, чтобы изучить строки.

Команды .DUMP и .SCHEMA, похоже, не видят базу данных вообще.

1

Чтобы показать все таблицы, вы можете использовать следующий запрос:

SELECT name FROM sqlite_master WHERE type = "table"

Чтобы показать все строки, я предполагаю, что вы можете перебрать все таблицы и выполнить SELECT * для каждой из них. Но, возможно, вам подойдет команда DUMP?

0

Используйте команду .help, чтобы проверить доступные команды.

.table

Эта команда покажет все таблицы в вашей текущей базе данных.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь