За да пуснете таблица в 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 също така премахва всички индекси или тригери, свързани с таблицата, преди да извърши операцията изтриване (и последващо изтриване).