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

Drop срещу Truncate в SQL

В тази статия ще научим и разберем командите 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на разликата между операторите EXCEPT и NOT IN

  2. Автоматизирано тестване на настолното приложение:преглед на целесъобразността и рамки

  3. Новите семейства процесори AMD се сравняват добре с новите процесори на Intel

  4. Как да мигрирате бази данни и файлове с данни

  5. SQL VARCHAR Тип данни, които трябва и не трябва за по-бързи бази данни