SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite - Thả một bảng

Để thả một bảng trong SQLite, hãy sử dụng DROP TABLE tuyên bố.

Chạy câu lệnh này sẽ xóa bảng khỏi cơ sở dữ liệu. Nó hoàn toàn bị xóa khỏi lược đồ cơ sở dữ liệu và tệp đĩa. Do đó, bảng không thể được phục hồi. Tất cả các chỉ số và trình kích hoạt được liên kết với bảng cũng bị xóa.

DROP TABLE cơ bản Tuyên bố

Trước tiên, hãy xem lại các bảng trong cơ sở dữ liệu của chúng tôi:

sqlite> .tables
Albums   Albums1  Albums2  Artists

Chúng tôi có một vài chiếc bàn trống từ các bài tập trước của chúng tôi, vì vậy hãy bỏ một chiếc xuống.

Đoạn mã sau sẽ xóa Albums1 bảng:

DROP TABLE Albums1;

Sau khi chạy mã đó, chúng tôi có thể xem lại các bảng của mình:

sqlite> .tables
Albums   Albums2  Artists

Bảng đã bị xóa.

Kiểm tra xem Bảng có tồn tại không

Bạn có thể sử dụng IF EXISTS để kiểm tra xem bảng có tồn tại hay không trước khi SQLite cố gắng loại bỏ nó.

Làm điều này sẽ ngăn chặn bất kỳ lỗi nào thường được tạo ra nếu bảng không tồn tại.

Trước tiên, hãy thử bỏ một bảng không tồn tại không có sử dụng IF EXISTS mệnh đề. Hãy thử thả cái mà chúng ta vừa thả:

DROP TABLE Album1;

Điều này dẫn đến kết quả sau:

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

Được rồi, chúng ta hãy thử lại lần nữa, nhưng lần này với IF EXISTS mệnh đề:

DROP TABLE IF EXISTS Album1;

Kết quả:

sqlite> DROP TABLE IF EXISTS Album1;
sqlite> 

Vì vậy, không có gì xảy ra. Quan trọng là không có lỗi nào được đưa ra.

Thả một bảng bằng các phím chính

Vì vậy, điều gì sẽ xảy ra nếu chúng ta cố gắng loại bỏ một bảng có chứa các khóa chính và có các khóa ngoại tham chiếu đến chúng?

Hãy thử nó:

DROP TABLE Artists;

Kết quả:

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

Đúng như dự đoán, nó đã thất bại. Vì vậy, nếu bạn cần loại bỏ một bảng, trước tiên bạn sẽ cần loại bỏ bất kỳ bảng nào được liên kết.

SQLite thực sự cố gắng xóa dữ liệu trước khi nó làm rơi một bảng. Chính hành động xóa này là nguyên nhân thực hiện bất kỳ kiểm tra ràng buộc khóa ngoại nào.

SQLite cũng loại bỏ bất kỳ chỉ số hoặc trình kích hoạt nào được liên kết với bảng trước khi nó thực hiện thao tác xóa (và thả tiếp theo).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn vào Cơ sở dữ liệu SQLite android

  2. Trả lại mảng chuỗi và sử dụng nó trên AutoCompleteTextview

  3. Logcat cho biết dữ liệu cột không hợp lệ1

  4. Làm cách nào để xóa các hàng cụ thể trong Cơ sở dữ liệu SQLite

  5. Làm thế nào để sử dụng Thư viện Kiên trì Phòng với cơ sở dữ liệu được điền sẵn?