В тази статия ще научим и разберем командите Drop и Truncate и разликата между тези две команди.
Какво е команда за пускане?
Drop е команда за език за дефиниране на данни в езика за структурирани заявки. Командата Drop в SQL се използва за изтриване или премахване на дефиницията на таблицата, базата данни, индексите, изгледа, тригерите и ограниченията на данните от таблиците на базата данни.
В езика за структурирани заявки командата drop се използва за премахване на елементите от системата за управление на релационна база данни (RDBMS).
Командата Delete може да връща данни, след като бъде изпълнена, но командите Drop не могат да връщат данни, след като бъдат изпълнени. Командата Drop се използва за освобождаване на паметта, където се съхранява пространството за таблица, тъй като командите drop изтриват таблицата и нейното съдържание за постоянно.
Командата Drop е бърза в сравнение с командата truncate в езика за структурирани заявки. Но времето за изпълнение на командата drop е бавно, защото има много усложнения.
За да изтрием една или повече колони от таблицата, използваме командата drop с командата ALTER TABLE.
Синтаксисът на командата DROP за премахване на базата данни е както следва:
DROP DATABASE Database_Name;
В горния синтаксис трябва да посочим името на базата данни, която искаме да изтрием от системата.
Забележка:- Бъдете внимателни, преди да използвате командата DROP за изтриване на базата данни, защото командите за изтриване премахват всички обекти от базата данни като таблици, индекси, изгледи, тригери, създадени в базата данни.
Синтаксисът за премахване на таблицата е както следва:
DROP TABLE Table_Name;
В горния синтаксис трябва да посочим името на таблицата, която искаме да изтрием от базата данни.
Синтаксисът за премахване на множество таблици от една и съща база данни в един израз е както следва:
DROP TABLE table1, table2, table3;
Можем да изтрием множество таблици от една и съща база данни, използвайки горния синтаксис.
Синтаксисът за премахване на индекса е както следва:
DROP INDEX Index_Name;
Трябва да посочим името на индекса в горния синтаксис непосредствено след ключовата дума на индекса.
Синтаксисът за премахване на изгледа е както следва:
DROP VIEW View_Name;
Трябва да посочим името на изгледа в горния синтаксис непосредствено след ключовата дума View.
Синтаксисът за премахване на ограничението от таблицата с помощта на ALTER TABLE е както следва:
ALTER TABLE Table_Name DROP CONSTRAINT Constraint_Name;
Използвайки командата ALTER TABLE в SQL, можем да изтрием ограничението от таблицата.
Пример за команда DROP:
Ще вземем няколко примера с помощта на командата DROP.
Стъпка 1: Създайте база данни или използвайте съществуваща база данни. Ще използваме две бази данни за командата DROP.
Стъпка 2: Създайте нова таблица или използвайте съществуваща таблица, индекс, изглед.
Пример 1: Напишете заявка за премахване на таблица student_information от училищната база данни.
Първо ще изберем училищната база данни с помощта на ключовата дума USE, последвана от името на базата данни.
USE School;
Ще напишем командата drop за изтриване на таблицата students_information от избраната база данни.
Разгледайте таблицата Students_information със следните записи:
Id_Id | Име_ученик | Студентски_курс | Оценки_ученици |
1 | Анджали | BCOM | 85 |
2 | Пранав | BCA | 80 |
3 | Йогеш | B.E | 88 |
4 | Бхушан | MBA | 95 |
5 | Пунам | MCOM | 97 |
6 | Бхавеш | B.E | 90 |
7 | Кхуши | BSC | 94 |
8 | Пиюш | BCOM | 75 |
9 | Никита | BA | 88 |
10 | Айшвария | BSC | 70 |
DROP TABLE Students_Information;
Изхвърлихме таблицата Students_information с всички записи в таблицата от горната заявка.
За да проверим кръстосано дали заявката е била изпълнена успешно или не, ще изпълним заявката SELECT.
SELECT * FROM Students_Information;
Докато изпълняваме заявката за избор в таблицата Students_information, се показва съобщението, че таблицата не съществува, което означава, че заявката за команда Drop в таблицата Students_information се изпълнява успешно.
Пример 2: Напишете заявка за премахване на изглед manager_view1 от базата данни на компанията.
Помислете за изгледа manager_view1 със следните записи:
MANAGERID | MANAGER_NAME | МЕНИДЖЕР_ОТДЕЛ |
1 | Снехдип Каур | ORACLE |
3 | Абхишек Маниш | JAVA |
Ще напишем командата drop за изтриване на изглед manager_view1 от избраната база данни.
DROP VIEW Manager_view1;
Премахнахме изгледа manager_view1 от горната заявка с всички записи, присъстващи в изгледа.
За да проверим кръстосано дали заявката е изпълнена успешно или не, ще изпълним заявката SELECT.
SELECT * FROM Manager_view1;
Докато изпълняваме заявката за избор в изглед manager_view1, се показва съобщението за изгледа не съществува, което означава, че заявката на командата Drop в изглед manager_view1 се изпълнява успешно.
Пример 3: Напишете заявка за премахване на базата данни за крикет от системата.
Преди да изпълним командата drop за базата данни, първо изпълняваме командата show databases, за да проверим в края на командата drop, че успешно сме изтрили базата данни Cricket от системата.
SHOW DATABASES;
База данни |
Chk |
Компания |
Крикет |
Служител |
Информационна_схема |
Mysql |
Схема_на_производителност |
Phpmyadmin |
Училище |
Тест |
WordPress |
По-горе са базите данни, които вече съществуват в системата; ще премахнем базата данни за крикет от системата. Изтриването на базата данни означава изтриване на всички обекти, присъстващи в таблицата на базата данни, изгледа, индекса, тригерите и т.н.
Сега ще изпълним заявка за премахване на базата данни за крикет.
DROP DATABASE Cricket;
Изпълнихме заявката за отпадане в базата данни за крикет. За да проверим дали базата данни е изтрита успешно или не, ще изпълним заявката SHOW DATABASES.
SHOW DATABASES;
База данни |
Chk |
Компания |
Служител |
Информационна_схема |
Mysql |
Схема_на_производителност |
Phpmyadmin |
Училище |
Тест |
WordPress |
Както можете да видите, базата данни за крикет е изтрита от системата успешно.
Пример 4: Напишете заявка за изтриване на колоната с фамилното име от таблицата на служителите.
ALTER TABLE employee DROP Last_Name;
Изтрихме колоната Last_Name от таблицата на служителите, използвайки командата DROP с командата ALTER в горната заявка.
Поле | Тип | Null | Ключ | По подразбиране | Допълнително |
ИД НА СЛУЖИТЕЛ | int(11) | НЕ | PRI | NULL | |
FIRST_NAME | varchar(20) | ДА | NULL | ||
ЗАПЛАТА | int(11) | ДА | NULL | ||
ГРАД | varchar(20) | ДА | NULL | ||
ОТДЕЛ | varchar(20) | ДА | NULL | ||
МЕНИДЖЕРИД | int(11) | ДА | NULL |
Горният изход показва, че Last_Name е изтрито от таблицата на служителите.
Какво е командата Truncate?
Truncate е друга команда за език за дефиниране на данни в езика за структурирани заявки. Командата Truncate се използва за изтриване на всички записи от таблицата. Подобно на командата DROP, но командата TRUNCATE не съдържа клауза WHERE. Командата Truncate е по-бърза както от командата DROP, така и от командата DELETE. Не можем да върнем записите като командата DROP след използване на командата TRUNCATE.
Синтаксис на командата TRUNCATE в SQL:
TRUNCATE TABLE tablename;
В горния синтаксис трябва да споменем името на таблицата, чиито данни искаме да изтрием от таблицата.
Ще вземем няколко примера с помощта на командата TRUNCATE.
Пример за команда TRUNCATE:
Стъпка 1: Създайте база данни или използвайте съществуваща база данни.
Стъпка 2: Създайте нова таблица или използвайте съществуваща таблица.
Помислете за съществуващата таблица със следните записи:
Таблица:Служител:
ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ | FIRST_NAME | LAST_NAME | ЗАПЛАТА | ГРАД | ОТДЕЛ | MANAGERID |
1001 | VAIBHAVI | МИШРА | 65500 | ПУНА | ORACLE | 1 |
1002 | VAIBHAV | ШАРМА | 60 000 | NOIDA | C# | 5 |
1003 | НИХИЛ | VANI | 50500 | ДЖАЙПУР | FMW | 2 |
2001 | PRACHI | ШАРМА | 55500 | ЧАНДИГАР | ORACLE | 1 |
2002 | BHAVESH | ДЖЕЙН | 65500 | ПУНА | FMW | 2 |
2003 | РУЧИКА | ДЖЕЙН | 50 000 | МУМБАЙ | C# | 5 |
3001 | ПРАНОТИ | ШЕНДЕ | 55500 | ПУНА | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | ДЖАЙПУР | FMW | 2 |
3003 | DEEPAM | ДЖАУХАРИ | 58500 | МУМБАЙ | JAVA | 3 |
4001 | РАДЖЕШ | GOUD | 60500 | МУМБАЙ | ТЕСТВАНЕ | 4 |
4002 | ASHWINI | BAGHAT | 54500 | NOIDA | JAVA | 3 |
4003 | РУЧИКА | AGARWAL | 60 000 | ДЕЛХИ | ORACLE | 1 |
5001 | АРХИТ | ШАРМА | 55500 | ДЕЛХИ | ТЕСТВАНЕ | 4 |
Пример: Напишете заявка за изтриване на всички записи от таблицата на служителите, като използвате командата truncate.
TRUNCATE TABLE Employee;
Изтрихме всички записи от горната заявка от таблицата на служителите.
За да проверим кръстосано дали всички записи от таблицата на служителите са изтрити или не успешно, ще изпълним заявката SELECT в таблицата на служителите.
SELECT * FROM Employee;
ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ | FIRST_NAME | LAST_NAME | ЗАПЛАТА | ГРАД | ОТДЕЛ | MANAGERID |
Докато изпълняваме заявката за избор в таблицата на служителите, се показва съобщението за празен набор, което означава, че командата за съкращаване на таблицата на служителите се изпълнява успешно.
Точките по-долу показват разликата между командата Drop и командата Truncate в езика на структурираните заявки:
Командата DROP | Командата TRUNCATE |
Командата DROP изтрива структурата на таблицата и записите на таблицата. | Командата TRUNCATE премахва всички записи от таблицата. |
Командата DROP е команда за език за дефиниране на данни. | Командата TRUNCATE също е команда за език за дефиниране на данни. |
В командата DROP пространството за таблица е свободно от памет | Командата TRUNCATE не освобождава пространството за таблица от паметта. |
Изгледът на таблицата не съществува в командата DROP | Изгледът на таблицата съществува в командата TRUNCATE |
В командата DROP не можем да използваме пространство за изтриване. | В командата TRUNCATE можем да използваме пространство за изтриване, но по-малко в сравнение с оператора DELETE. |
В командата DROP ограниченията за целостта ще бъдат премахнати автоматично от таблицата. | Ограниченията за целостта няма да бъдат премахнати от таблицата в командата TRUNCATE. |
Командата DROP изтрива записите бързо, но има много усложнения. | Командата TRUNCATE е по-бърза от командата DROP. |