SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Daftar semua Tabel Sementara di SQLite

Seperti kebanyakan hal di SQLite, ada lebih dari satu cara untuk mendapatkan daftar tabel sementara dalam database.

Di sini saya menyajikan dua cara untuk mengembalikan tabel sementara di SQLite.

Perintah .tables

Jika Anda familiar dengan shell baris perintah SQLite, maka Anda mungkin tahu tentang .tables perintah titik. Perintah ini mencantumkan semua tabel yang cocok dengan pola yang diberikan (atau hanya semua tabel, jika tidak ada pola yang diberikan). Ini termasuk tabel sementara.

Contoh:

CREATE TEMP TABLE TempProducts (id, name, price);
.tables

Hasil:

Products           temp.TempProducts  vProducts 

Dalam hal ini, saya memiliki satu tabel permanen (Products ), satu tampilan (vProducts ), dan satu tabel sementara (temp.TempProducts ).

Jadi Anda dapat melihat bahwa tabel sementara dan permanen dikembalikan. Jika tabel sementara Anda menggunakan konvensi penamaan tetap, seperti awalan yang hanya disediakan untuk tabel sementara, Anda dapat menggunakan pencocokan pola untuk mengambil hanya tabel sementara.

Contoh:

.tables temp%

Hasil:

temp.TempProducts

Namun, konvensi penamaan hanya baik selama semua orang mengikutinya.

Jika Anda tidak ingin tabel permanen dikembalikan dalam hasil Anda, Anda mungkin lebih baik menanyakan sqlite_temp_master tabel (di bawah).

Tabel sqlite_temp_master

SQLite memiliki sqlite_temp_master tabel yang berisi tabel sementara dan indeks serta pemicunya. Tabel ini hanya dapat dilihat oleh aplikasi yang membuat tabel sementara.

Anda dapat menanyakan tabel ini seperti ini:

SELECT name FROM sqlite_temp_master;

Hasil:

TempProducts

Dalam contoh ini saya hanya mengembalikan nama tabel, tetapi jangan ragu untuk menggunakan tanda bintang (* ) untuk mengembalikan semua kolom.

Seperti yang disebutkan, tabel ini tidak termasuk tabel permanen. Jika Anda perlu mengembalikan tabel sementara dan permanen, dan Anda tidak dapat menggunakan .temp , Anda dapat menyertakan sqlite_master tabel dalam kueri Anda.

Contoh:

SELECT name FROM 
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type='table'
ORDER BY name;

Hasil:

Products
TempProducts

Jika Anda ingin menyertakan tampilan, lakukan ini:

SELECT name FROM 
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type in ('table', 'view')
ORDER BY name;

Hasil:

Products
TempProducts
vProducts

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 Cara Memeriksa Tipe Data Kolom di SQLite

  2. Bagaimana menerapkan SQLCipher saat menggunakan SQLiteOpenHelper

  3. <expr> diharapkan, mengerti '?'

  4. Cara Mengekstrak Hari, Bulan, dan Tahun dari Tanggal di SQLite

  5. Urutan SQLite Berdasarkan Tanggal1530019888000