Pertanyaan Bagaimana daftar tabel dalam file database SQLite yang dibuka dengan ATTACH?


Apa SQL dapat digunakan untuk daftar tabel, dan baris dalam tabel tersebut dalam file database SQLite - setelah saya melampirkannya dengan ATTACH perintah pada alat baris perintah SQLite 3?


1017
2017-09-17 12:59


asal


Jawaban:


Itu .tables, dan .schema Fungsi "helper" tidak melihat ke dalam database TERLUPAKAN: mereka hanya query SQLITE_MASTER tabel untuk database "utama". Akibatnya, jika Anda menggunakannya

ATTACH some_file.db AS my_db;

maka yang perlu Anda lakukan

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

Perhatikan bahwa tabel sementara tidak muncul .tables baik: Anda harus daftar sqlite_temp_master untuk itu:

SELECT name FROM sqlite_temp_master WHERE type='table';

449
2017-09-17 13:30



Ada beberapa langkah untuk melihat tabel dalam database SQLite:

  1. Buat daftar tabel dalam database Anda:

    .tables
    
  2. Buat daftar bagaimana tampilan tabel:

    .schema tablename
    
  3. Cetak seluruh tabel:

    SELECT * FROM tablename;
    
  4. Daftar semua perintah prompt SQLite yang tersedia:

    .help
    

1187
2017-09-17 13:02



Tampaknya Anda harus melalui sqlite_master tabel, seperti ini:

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

Dan kemudian secara manual melalui setiap tabel dengan SELECT atau mirip dengan melihat baris.

Itu .DUMP dan .SCHEMA perintah tidak muncul untuk melihat database sama sekali.


419
2017-09-17 13:01



Untuk menampilkan semua tabel, gunakan

SELECT name FROM sqlite_master WHERE type = "table"

Untuk menampilkan semua baris, saya kira Anda dapat melakukan iterasi melalui semua tabel dan hanya melakukan SELECT * pada masing-masing tabel. Tapi mungkin DUMP adalah yang Anda cari?


138
2017-09-17 13:06



Menggunakan .help untuk memeriksa perintah yang tersedia.

.table

Perintah ini akan menampilkan semua tabel di bawah database Anda saat ini.


65
2017-08-31 04:13



Ada perintah yang tersedia untuk ini di baris perintah SQLite:

.tables ?PATTERN?      List names of tables matching a LIKE pattern

Yang mengkonversi ke SQL berikut:

SELECT name FROM sqlite_master
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
WHERE type IN ('table','view')
ORDER BY 1

36
2017-09-17 13:06



Untuk daftar tabel yang dapat Anda lakukan:

SELECT name FROM sqlite_master
WHERE type='table';

34
2017-09-17 13:04



Mencoba PRAGMA table_info(table-name);
http://www.sqlite.org/pragma.html#schema


26
2018-06-07 02:53



Menurut dokumentasi, setara dengan MySQLs ' SHOW TABLES; aku s:

Perintah ".tables" mirip dengan pengaturan mode daftar kemudian mengeksekusi   pertanyaan berikut:

SELECT name FROM sqlite_master
  WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
  WHERE type IN ('table','view')
ORDER BY 1;

Namun, jika Anda memeriksa apakah ada satu tabel (atau untuk mendapatkan detailnya), lihat @LuizGeron menjawab.


14
2018-01-31 10:47



Seperti versi terbaru dari SQLite 3 yang dapat Anda terbitkan:

.fullschema

untuk melihat semua pernyataan buat Anda.


12
2017-09-08 23:59