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

4 Cara Mendapatkan Informasi tentang Struktur Tabel di SQLite

Terkadang Anda hanya ingin melihat struktur dasar sebuah tabel.

Di SQLite, ada beberapa cara untuk mengambil informasi tentang tabel yang diberikan. Secara khusus, berikut adalah empat opsi:

  • PRAGMA table_info() pernyataan
  • PRAGMA table_xinfo() pernyataan (untuk tabel virtual)
  • .schema perintah
  • sqlite_master meja

Contoh masing-masing metode di bawah ini.

PRAGMA table_info()

PRAGMA table_info() pernyataan mengembalikan satu baris untuk setiap kolom dalam tabel bernama. Ini seperti SQLite yang setara dengan DESCRIBE pernyataan di MySQL.

Sintaks

Sintaksnya seperti ini:

PRAGMA schema.table_info(table-name);

Dimana table-name adalah nama tabel yang Anda perlukan informasinya.

schema bagian adalah opsional. Ini adalah nama database terlampir atau main atau temp untuk database utama dan TEMP. Jika Anda tidak memberikan ini maka database utama akan digunakan.

Contoh

Berikut ini contoh pengembalian informasi tentang tabel yang disebut Hewan Piaraan .

PRAGMA table_info(Pets);

Hasil:

cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           PetId       INTEGER     0                       1         
1           PetName                 0                       0         
2           TypeId                  0                       0         

Dalam hal ini, hanya kolom pertama (PetId ) memiliki tipe data yang didefinisikan secara eksplisit. Yang lain dibuat tanpa jenisnya yang didefinisikan secara eksplisit.

Kita juga dapat melihat bahwa PetId kolom adalah kolom kunci utama (ada 1 di pk kolom).

PRAGMA table_xinfo()

PRAGMA table_xinfo() pernyataan ini persis sama dengan PRAGMA table_info() pernyataan, kecuali bahwa ia juga mengembalikan kolom tersembunyi pada tabel virtual.

Jika Anda ingin melihat struktur tabel virtual, termasuk kolom tersembunyi, inilah yang digunakan.

Berikut ini contoh menggunakan tabel yang sama dari contoh sebelumnya.

PRAGMA table_xinfo(Pets);

Hasil:

cid         name        type        notnull     dflt_value  pk          hidden    
----------  ----------  ----------  ----------  ----------  ----------  ----------
0           PetId       INTEGER     0                       1           0         
1           PetName                 0                       0           0         
2           TypeId                  0                       0           0         

Anda mungkin harus menggulir ke samping untuk melihat kolom tambahan. Dalam hal ini tidak ada kolom yang disembunyikan (dan ini bukan tabel virtual), jadi semua baris 0 untuk kolom itu.

Ini hasilnya lagi, tetapi menggunakan output vertikal (.mode line ) sehingga Anda tidak perlu menggulir ke samping.

.mode line
PRAGMA table_xinfo(Pets);

Hasil:

       cid = 0
      name = PetId
      type = INTEGER
   notnull = 0
dflt_value = 
        pk = 1
    hidden = 0


       cid = 1
      name = PetName
      type = 
   notnull = 0
dflt_value = 
        pk = 0
    hidden = 0


       cid = 2
      name = TypeId
      type = 
   notnull = 0
dflt_value = 
        pk = 0
    hidden = 0

Perintah .schema

Cara lain untuk mengambil struktur tabel adalah dengan menggunakan .schema memerintah. Ini adalah salah satu dari beberapa metode yang dapat Anda gunakan untuk mengembalikan SQL yang digunakan untuk membuat tabel.

Berikut ini contoh menggunakan tabel yang sama dari contoh sebelumnya.

.schema Pets

Hasil:

CREATE TABLE Pets( 
    PetId INTEGER PRIMARY KEY, 
    PetName,
    TypeId,
    FOREIGN KEY(TypeId) REFERENCES Types(TypeId)
);

Metode ini memungkinkan kita untuk melihat lebih banyak informasi tentang tabel. Dalam contoh ini, kita dapat melihat bahwa TypeId kolom sebenarnya adalah kunci asing yang mereferensikan kolom di tabel lain.

Tabel sqlite_master

Anda dapat menggunakan sqlite_master tabel ke hal yang sama seperti contoh sebelumnya.

Berikut ini contoh menggunakan tabel yang sama.

SELECT sql 
FROM sqlite_master 
WHERE tbl_name = 'Pets';

Hasil:

CREATE TABLE Pets( 
    PetId INTEGER PRIMARY KEY, 
    PetName,
    TypeId,
    FOREIGN KEY(TypeId) REFERENCES Types(TypeId)
)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite Buat Tampilan

  2. sqliteLog 14:tidak dapat membuka file pada baris

  3. 6 Cara Menghapus Baris Duplikat yang memiliki Kunci Utama di SQLite

  4. Apa itu SQLite?

  5. Bagaimana last_insert_rowid() Bekerja di SQLite