Database
 sql >> Baza danych >  >> RDS >> Database

Upuść vs Obcinaj w SQL

W tym artykule poznamy i zrozumiemy polecenia Upuść i Przytnij oraz różnicę między tymi dwoma poleceniami.

Co to jest Drop Command?

Drop jest poleceniem języka definicji danych w strukturalnym języku zapytań. Polecenie Usuń w SQL służy do usuwania lub usuwania definicji tabeli, bazy danych, indeksów, widoku, wyzwalaczy i ograniczeń danych z tabel bazy danych.

W strukturalnym języku zapytań polecenie drop służy do usuwania elementów z systemu zarządzania relacyjną bazą danych (RDBMS).

Polecenie Usuń może wycofać dane po jego wykonaniu, ale polecenia Usuń nie mogą wycofać danych po ich wykonaniu. Polecenie Upuść służy do zwalniania pamięci, w której przechowywana jest przestrzeń tabel, ponieważ polecenia upuszczania trwale usuwają tabelę i jej zawartość.

Polecenie Drop jest szybkie w porównaniu z poleceniem truncate w strukturalnym języku zapytań. Ale czas wykonania polecenia drop jest powolny, ponieważ ma wiele komplikacji.

Aby usunąć jedną lub więcej kolumn z tabeli, używamy polecenia drop z poleceniem ALTER TABLE.

Składnia polecenia DROP do usunięcia bazy danych jest następująca:

DROP DATABASE Database_Name;

W powyższej składni musimy określić nazwę bazy danych, którą chcemy usunąć z systemu.

Uwaga:- Zachowaj ostrożność przed użyciem polecenia DROP do usuwania bazy danych, ponieważ polecenia usuwania usuwają wszystkie obiekty z bazy danych, takie jak tabele, indeksy, widoki, wyzwalacze utworzone w bazie danych.

Składnia usuwania tabeli jest następująca:

DROP TABLE Table_Name;

W powyższej składni musimy określić nazwę tabeli, którą chcemy usunąć z bazy danych.

Składnia usuwania wielu tabel z tej samej bazy danych w jednej instrukcji jest następująca:

DROP TABLE table1, table2, table3;

Możemy usunąć wiele tabel z tej samej bazy danych, korzystając z powyższej składni.

Składnia usuwania indeksu jest następująca:

DROP INDEX Index_Name;

Musimy określić nazwę indeksu w powyższej składni tuż po słowie kluczowym indeksu.

Składnia usuwania widoku jest następująca:

DROP VIEW View_Name;

Musimy określić nazwę widoku w powyższej składni zaraz po słowie kluczowym widoku.

Składnia usuwania ograniczenia z tabeli za pomocą ALTER TABLE jest następująca:

ALTER TABLE Table_Name DROP CONSTRAINT Constraint_Name;

Używając polecenia ALTER TABLE w SQL, możemy usunąć ograniczenie z tabeli.

Przykład polecenia DROP:

Przyjrzymy się kilku przykładom za pomocą polecenia DROP.

Krok 1: Utwórz bazę danych lub użyj istniejącej bazy danych. Do polecenia DROP użyjemy dwóch baz danych.

Krok 2: Utwórz nową tabelę lub użyj istniejącej tabeli, indeksu, widoku.

Przykład 1: Napisz zapytanie, aby usunąć tabelę uczniowie_informacje ze szkolnej bazy danych.

Najpierw wybierzemy bazę danych Szkoły, używając słowa kluczowego USE, a następnie nazwy bazy danych.

USE School;

Napiszemy polecenie drop, aby usunąć tabelę Student_information z wybranej bazy danych.

Rozważ tabelę Studenci_informacje z następującymi rekordami:

Identyfikator studenta Nazwa_ucznia Student_Course Student_Marks
1 Anjali BCOM 85
2 Pranav BCA 80
3 Jogesz B.E 88
4 Bhuszan MBA 95
5 Poonam MCOM 97
6 Bhawesz B.E 90
7 Khushi BSC 94
8 Pijusz BCOM 75
9 Nikita BA 88
10 Aishwariya BSC 70
DROP TABLE Students_Information;

Usunęliśmy tabelę Students_information ze wszystkimi rekordami obecnymi w tabeli z powyższego zapytania.

Aby sprawdzić krzyżowo, czy zapytanie zostało wykonane pomyślnie, czy nie, wykonamy zapytanie SELECT.

SELECT * FROM Students_Information;

Gdy wykonujemy zapytanie wybierające w tabeli Students_information, tabela nie istnieje, wyświetlany jest komunikat, co oznacza, że ​​zapytanie z poleceniem Drop w tabeli Students_information zostało wykonane pomyślnie.

Przykład 2: Napisz zapytanie, aby usunąć widok manager_view1 z bazy danych firmy.

Rozważ widok manager_view1 z następującymi rekordami:

MANAGERID MANAGER_NAME MANAGER_DEPARTMENT
1 Snehdeep Kaur WYROCZNIA
3 Abhishek Manish JAVA

Napiszemy polecenie drop, aby usunąć widok manager_view1 z wybranej bazy danych.

DROP VIEW Manager_view1;

Usunęliśmy widok manager_view1 z powyższego zapytania ze wszystkimi rekordami obecnymi w tym widoku.

Aby sprawdzić, czy zapytanie zostało wykonane pomyślnie, czy nie, wykonamy zapytanie SELECT.

SELECT * FROM Manager_view1;

Gdy wykonujemy zapytanie wybierające w widoku manager_view1, widok nie istnieje, wyświetlany jest komunikat, co oznacza, że ​​zapytanie polecenia Drop w widoku manager_view1 zostało wykonane pomyślnie.

Przykład 3: Napisz zapytanie, aby usunąć bazę danych Cricket z systemu.

Przed wykonaniem polecenia drop dla bazy danych, najpierw wykonujemy polecenie show databases, aby na końcu polecenia drop sprawdzić, czy pomyślnie usunęliśmy bazę danych Cricket z systemu.

SHOW DATABASES;
Baza danych
Chk
Firma
Krykiet
Pracownik
Schemat_informacji
MySQL
Schemat wydajności
Phpmyadmin
Szkoła
Test
WordPress

Powyżej znajdują się bazy danych, które już istnieją w systemie; usuniemy bazę danych Cricket z systemu. Usunięcie bazy danych oznacza usunięcie wszystkich obiektów znajdujących się w tabeli bazy danych, widoku, indeksie, wyzwalaczach itp.

Teraz wykonamy zapytanie o usunięcie bazy danych Cricket.

DROP DATABASE Cricket;

Wykonaliśmy zapytanie upuszczające w bazie danych Cricket. Aby sprawdzić, czy baza danych została pomyślnie usunięta, czy nie, wykonamy zapytanie SHOW DATABASES.

SHOW DATABASES;
Baza danych
Chk
Firma
Pracownik
Schemat_informacji
MySQL
Schemat wydajności
Phpmyadmin
Szkoła
Test
WordPress

Jak widać, baza danych krykieta została pomyślnie usunięta z systemu.

Przykład 4: Napisz zapytanie, aby usunąć kolumnę nazwiska z tabeli pracowników.

ALTER TABLE employee DROP Last_Name;

Usunęliśmy kolumnę Last_Name z tabeli pracowników za pomocą polecenia DROP z poleceniem ALTER w powyższym zapytaniu.

Pole Typ Brak Klucz Domyślne Dodatkowe
ID PRACOWNIKA int(11) NIE PRI NULL
FIRST_NAME varchar(20) TAK NULL
WYNAGRODZENIE int(11) TAK NULL
MIASTO varchar(20) TAK NULL
DZIAŁ varchar(20) TAK NULL
MANAGERID int(11) TAK NULL

Powyższe dane wyjściowe pokazują, że Last_Name zostało usunięte z tabeli pracowników.

Co to jest polecenie obcinania?

Truncate to kolejne polecenie języka definicji danych w strukturalnym języku zapytań. Polecenie Obtnij służy do usuwania wszystkich rekordów z tabeli. Podobnie jak polecenie DROP, ale polecenie TRUNCATE nie zawiera klauzuli WHERE. Polecenie Przytnij jest szybsze niż polecenie DROP i DELETE. Nie możemy wycofać rekordów, takich jak polecenie DROP po użyciu polecenia OBCIĄĆ.

Składnia polecenia TRUNCATE w SQL:

TRUNCATE TABLE tablename;

W powyższej składni musimy wspomnieć o nazwie tabeli, której dane chcemy usunąć z tabeli.

Przyjrzymy się kilku przykładom za pomocą polecenia TRUNCATE.

Przykład polecenia TRUNCATE:

Krok 1: Utwórz bazę danych lub użyj istniejącej bazy danych.

Krok 2: Utwórz nową tabelę lub użyj istniejącej.

Rozważ istniejącą tabelę z następującymi rekordami:

Tabela:Pracownik:

ID PRACOWNIKA FIRST_NAME LAST_NAME WYNAGRODZENIE MIASTO DZIAŁ IDENTYFIKATOR KIEROWCY
1001 VAIBHAVI MISHRA 65500 PUNE WYROCZNIA 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACI SHARMA 55500 CZANDIGAR WYROCZNIA 1
2002 PRZYJMUJ SIĘ JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAJ C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAJ JAVA 3
4001 RAJESH GOUD 60500 MUMBAJ TESTOWANIE 4
4002 ASHWINI TORBA 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI WYROCZNIA 1
5001 ARCHIT SHARMA 55500 DELHI TESTOWANIE 4

Przykład: Napisz zapytanie, aby usunąć wszystkie rekordy z tabeli pracowników za pomocą polecenia obcinania.

TRUNCATE TABLE Employee;

Usunęliśmy wszystkie rekordy z powyższego zapytania z tabeli pracowników.

Aby sprawdzić krzyżowo, czy wszystkie rekordy z tabeli pracowników zostały usunięte, czy nie, wykonamy zapytanie SELECT w tabeli pracowników.

SELECT * FROM Employee;
ID PRACOWNIKA FIRST_NAME LAST_NAME WYNAGRODZENIE MIASTO DZIAŁ IDENTYFIKATOR KIEROWCY

Gdy wykonujemy zapytanie wybierające w tabeli pracowników, wyświetlany jest komunikat pustego ustawienia, co oznacza, że ​​polecenie obcinania w tabeli pracowników zostało wykonane pomyślnie.

Poniższe punkty pokazują różnicę między poleceniem Upuść a poleceniem Obtnij w strukturalnym języku zapytań:

Polecenie DROP Polecenie OBCIĄĆ
Polecenie DROP usuwa strukturę tabeli i rekordy tabeli. Polecenie TRUNCATE usuwa wszystkie rekordy z tabeli.
Polecenie DROP jest poleceniem języka definicji danych. Polecenie TRUNCATE jest również poleceniem języka definicji danych.
W poleceniu DROP przestrzeń tabel jest wolna od pamięci Polecenie TRUNCATE nie zwalnia obszaru tabel z pamięci.
Widok tabeli nie istnieje w poleceniu DROP Widok tabeli istnieje w poleceniu TRUNCATE
W poleceniu DROP nie możemy użyć usuwania spacji. W poleceniu TRUNCATE możemy użyć usuwania spacji, ale mniej niż w porównaniu z instrukcją DELETE.
W poleceniu DROP, ograniczenia integralności zostaną automatycznie usunięte z tabeli. Ograniczenia integralności nie zostaną usunięte z tabeli w poleceniu TRUNCATE.
Polecenie DROP usuwa rekordy szybko, ale jest wiele komplikacji. Polecenie TRUNCATE jest szybsze niż polecenie 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. Replikacja danych w IRI Workbench

  2. Prosta parametryzacja i trywialne plany — część 2

  3. Narzędzia online do testowania projektów i zapytań SQL

  4. Minimalne rejestrowanie za pomocą INSERT…SELECT i szybkiego ładowania kontekstu

  5. Rozszerzenie zastosowań DBCC CLONEDATABASE