SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite - Пуснете таблица

За да пуснете таблица в SQLite, използвайте DROP TABLE изявление.

Изпълнението на този израз премахва таблицата от базата данни. Той е напълно премахнат от схемата на базата данни и дисковия файл. Следователно таблицата не може да бъде възстановена. Всички индекси и тригери, свързани с таблицата, също се изтриват.

Основна DROP TABLE Изявление

Първо, нека прегледаме таблиците в нашата база данни:

sqlite> .tables
Albums   Albums1  Albums2  Artists

Имаме няколко резервни маси от предишните ни упражнения, така че нека оставим една.

Следният код изтрива Albums1 таблица:

DROP TABLE Albums1;

След като изпълним този код, можем да прегледаме нашите таблици отново:

sqlite> .tables
Albums   Albums2  Artists

Таблицата е премахната.

Проверете дали таблицата съществува

Можете да използвате IF EXISTS клауза, за да проверите дали таблицата съществува, преди SQLite да се опита да я изпусне.

Това предотвратява всякакви грешки, които обикновено се генерират, ако таблицата не съществува.

Първо, нека се опитаме да премахнем несъществуваща таблица без използвайки IF EXISTS клауза. Нека се опитаме да пуснем този, който току-що изпуснахме:

DROP TABLE Album1;

Това води до следното:

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

Добре, нека опитаме отново, но този път с IF EXISTS клауза:

DROP TABLE IF EXISTS Album1;

Резултат:

sqlite> DROP TABLE IF EXISTS Album1;
sqlite> 

Значи нищо не се случи. Важно е, че не е допусната грешка.

Пуснете таблица с първични ключове

И така, какво ще стане, ако се опитаме да пуснем таблица, която съдържа първични ключове и има външни ключове, препращащи към тях?

Нека опитаме:

DROP TABLE Artists;

Резултат:

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

Както се очакваше, не успя. Така че, ако трябва да махнете таблица, първо ще трябва да премахнете всички свързани таблици.

SQLite всъщност се опитва да изтрие данните, преди да изпусне таблица. Това е действието за изтриване, което води до извършване на проверки за ограничения на външния ключ.

SQLite също така премахва всички индекси или тригери, свързани с таблицата, преди да извърши операцията изтриване (и последващо изтриване).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Курсорът на SQLiteDatabase е празен само на устройства с Android 5.0+

  2. SQLite JSON_EXTRACT()

  3. Как Unicode() работи в SQLite

  4. Най-добрият вариант за съхраняване на потребителско име и парола в приложението за Android

  5. Поставяне на данни за курсора в масив