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

SQLite - Jatuhkan Meja

Untuk menjatuhkan tabel di SQLite, gunakan DROP TABLE pernyataan.

Menjalankan pernyataan ini menghapus tabel dari database. Itu benar-benar dihapus dari skema database dan file disk. Oleh karena itu tabel tidak dapat dipulihkan. Semua indeks dan pemicu yang terkait dengan tabel juga dihapus.

Sebuah DROP TABLE Dasar Pernyataan

Pertama, mari kita tinjau tabel di database kita:

sqlite> .tables
Albums   Albums1  Albums2  Artists

Kami memiliki beberapa meja cadangan dari latihan kami sebelumnya, jadi mari kita tinggalkan satu.

Kode berikut menghapus Albums1 tabel:

DROP TABLE Albums1;

Setelah menjalankan kode tersebut, kita dapat meninjau tabel kita lagi:

sqlite> .tables
Albums   Albums2  Artists

Tabel telah dihapus.

Periksa apakah Tabel Ada

Anda dapat menggunakan IF EXISTS klausa untuk memeriksa apakah tabel sudah ada sebelum SQLite mencoba menghapusnya.

Melakukan hal ini mencegah kesalahan apa pun yang biasanya dihasilkan jika tabel tidak ada.

Pertama, mari kita coba menjatuhkan tabel yang tidak ada tanpa menggunakan IF EXISTS ayat. Mari kita coba lepaskan yang baru saja kita jatuhkan:

DROP TABLE Album1;

Ini menghasilkan sebagai berikut:

sqlite> DROP TABLE Album1;
Error: no such table: Album1

Oke, jadi mari kita coba lagi, tapi kali ini dengan IF EXISTS klausa:

DROP TABLE IF EXISTS Album1;

Hasil:

sqlite> DROP TABLE IF EXISTS Album1;
sqlite> 

Jadi tidak ada yang terjadi. Yang penting, tidak ada kesalahan yang terjadi.

Lepaskan Tabel dengan Kunci Utama

Jadi apa yang terjadi jika kita mencoba menjatuhkan tabel yang berisi kunci utama, dan ada kunci asing yang mereferensikannya?

Mari kita coba:

DROP TABLE Artists;

Hasil:

sqlite> DROP TABLE Artists;
Error: FOREIGN KEY constraint failed

Seperti yang diharapkan, itu gagal. Jadi, jika Anda perlu menghapus tabel, Anda harus menghapus tabel terkait terlebih dahulu.

SQLite sebenarnya mencoba menghapus data sebelum menjatuhkan tabel. Tindakan penghapusan inilah yang menyebabkan pemeriksaan batasan kunci asing dilakukan.

SQLite juga menghapus semua indeks atau pemicu yang terkait dengan tabel sebelum menjalankan operasi hapus (dan penurunan berikutnya).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android Room Embedded Relation mengabaikan SQL di mana kondisinya

  2. Android - perbarui basis data sqlite klien menggunakan GCM

  3. 4 Cara Mendapatkan Informasi tentang Struktur Tabel di SQLite

  4. SQLite Node.js

  5. Ruang Android - Cara menghapus sqlite_sequence untuk semua tabel