Database
 sql >> Database >  >> RDS >> Database

Drop vs Tronca in SQL

In questo articolo impareremo e capiremo i comandi Drop e Troncate e la differenza tra questi due comandi.

Cos'è Drop Command?

Drop è un comando del linguaggio di definizione dei dati nel linguaggio di query strutturato. Il comando Drop in SQL viene utilizzato per eliminare o eliminare la definizione della tabella, il database, gli indici, la vista, i trigger e i vincoli di dati dalle tabelle del database.

Nel Structured Query Language, il comando drop viene utilizzato per eliminare gli elementi dal sistema di gestione dei database relazionali (RDBMS).

Il comando Elimina può ripristinare i dati una volta eseguito, ma i comandi Rilascia non possono ripristinare i dati una volta eseguito. Il comando Drop viene utilizzato per liberare memoria in cui è archiviato lo spazio della tabella perché i comandi di rilascio eliminano la tabella e il suo contenuto in modo permanente.

Il comando Drop è veloce rispetto al comando tronca nel linguaggio di query strutturato. Ma i tempi di esecuzione del comando drop sono lenti perché hanno molte complicazioni.

Per eliminare una o più colonne dalla tabella, utilizziamo il comando drop con il comando ALTER TABLE.

La sintassi per il comando DROP per rimuovere il database è la seguente:

DROP DATABASE Database_Name;

Nella sintassi sopra, dobbiamo specificare il nome del database che vogliamo eliminare dal sistema.

Nota:- Prestare attenzione prima di utilizzare il comando DROP per eliminare il database perché i comandi di rilascio rimuovono tutti gli oggetti dal database come tabelle, indici, viste, trigger creati nel database.

La sintassi per rimuovere la tabella è la seguente:

DROP TABLE Table_Name;

Nella sintassi sopra, dobbiamo specificare il nome della tabella che vogliamo eliminare dal database.

La sintassi per rimuovere più tabelle dallo stesso database in una singola istruzione è la seguente:

DROP TABLE table1, table2, table3;

Possiamo eliminare più tabelle dallo stesso database utilizzando la sintassi sopra.

La sintassi per rimuovere l'indice è la seguente:

DROP INDEX Index_Name;

Dobbiamo specificare il nome dell'indice nella sintassi precedente subito dopo la parola chiave dell'indice.

La sintassi per rimuovere la vista è la seguente:

DROP VIEW View_Name;

Dobbiamo specificare il nome della vista nella sintassi precedente subito dopo la parola chiave di visualizzazione.

La sintassi per rimuovere il vincolo dalla tabella utilizzando ALTER TABLE è la seguente:

ALTER TABLE Table_Name DROP CONSTRAINT Constraint_Name;

Utilizzando il comando ALTER TABLE nell'SQL, possiamo eliminare il vincolo dalla tabella.

Esempio di comando DROP:

Faremo alcuni esempi usando il comando DROP.

Passaggio 1: Creare un database o utilizzare un database esistente. Useremo due database per il comando DROP.

Passaggio 2: Crea una nuova tabella o usa una tabella, un indice, una vista esistente.

Esempio 1: Scrivi una query per eliminare la tabella studenti_informazioni dal database della scuola.

Per prima cosa selezioneremo il database della scuola utilizzando la parola chiave USE seguita dal nome del database.

USE School;

Scriveremo il comando drop per eliminare la tabella Students_information dal database selezionato.

Considera la tabella Students_information con i seguenti record:

ID_studente Nome_studente Corso_studente Student_Marks
1 Anjali BCOM 85
2 Pranav AC 80
3 Yogesh BE 88
4 Bhushan MBA 95
5 Poonam MCOM 97
6 Bhavesh BE 90
7 Khushi BSC 94
8 Piyush BCOM 75
9 Nikita BA 88
10 Aishwariya BSC 70
DROP TABLE Students_Information;

Abbiamo eliminato la tabella Students_information con tutti i record presenti all'interno della tabella dalla query precedente.

Per verificare se la query è stata eseguita correttamente o meno, eseguiremo la query SELECT.

SELECT * FROM Students_Information;

Quando eseguiamo la query select nella tabella Students_information, viene visualizzato il messaggio di tabella non esiste, il che significa che la query del comando Drop sulla tabella Students_information è stata eseguita correttamente.

Esempio 2: Scrivi una query per eliminare la vista manager_view1 dal database dell'azienda.

Considera la vista manager_view1 con i seguenti record:

MANAGERID MANAGER_NAME MANAGER_REPARTMENT
1 Snehdeep Kaur ORACLE
3 Abhishek Manish JAVA

Scriveremo il comando drop per eliminare la vista manager_view1 dal database selezionato.

DROP VIEW Manager_view1;

Abbiamo eliminato la vista manager_view1 dalla query precedente con tutti i record presenti all'interno della vista.

Per verificare se la query è stata eseguita correttamente o meno, eseguiremo la query SELECT.

SELECT * FROM Manager_view1;

Quando eseguiamo la query select nella vista manager_view1, viene visualizzato il messaggio View non esiste, il che significa che la query del comando Drop nella vista manager_view1 viene eseguita correttamente.

Esempio 3: Scrivi una query per eliminare il database Cricket dal sistema.

Prima di eseguire il comando drop per il database, eseguiamo prima il comando show databases per verificare alla fine del comando drop che abbiamo eliminato con successo il database Cricket dal sistema.

SHOW DATABASES;
Banca dati
Chk
Azienda
Grillo
Dipendente
Schema_informativo
Mysql
Schema_prestazioni
Phpmyadmin
Scuola
Test
WordPress

Sopra sono i database che già esistono nel sistema; elimineremo il database di Cricket dal sistema. Eliminare il database significa eliminare tutti gli oggetti presenti all'interno della tabella del database, vista, indice, trigger, ecc.

Ora eseguiremo una query per eliminare il database di Cricket.

DROP DATABASE Cricket;

Abbiamo eseguito la query di rilascio sul database di Cricket. Per verificare se il database è stato eliminato correttamente o meno, eseguiremo la query SHOW DATABASES.

SHOW DATABASES;
Banca dati
Chk
Azienda
Dipendente
Schema_informativo
Mysql
Schema_prestazioni
Phpmyadmin
Scuola
Test
WordPress

Come puoi vedere, il database del cricket è stato eliminato dal sistema con successo.

Esempio 4: Scrivi una query per eliminare la colonna del cognome dalla tabella dei dipendenti.

ALTER TABLE employee DROP Last_Name;

Abbiamo eliminato la colonna Last_Name dalla tabella dei dipendenti utilizzando il comando DROP con il comando ALTER nella query precedente.

Campo Digita Null Chiave Predefinito Extra
ID DIPENDENTE int(11) NO PRI NULLO
FIRST_NAME varchar(20) SI NULLO
STIPENDIO int(11) SI NULLO
CITTÀ varchar(20) SI NULLO
REPARTO varchar(20) SI NULLO
RIDESTORE int(11) SI NULLO

L'output sopra mostra che Last_Name è stato eliminato dalla tabella dei dipendenti.

Cos'è il comando Tronca?

Tronca è un altro comando del linguaggio di definizione dei dati nel linguaggio di query strutturato. Il comando Tronca viene utilizzato per eliminare tutti i record dalla tabella. Come il comando DROP, ma il comando TRUNCATE non contiene una clausola WHERE. Il comando Troncate è più veloce del comando DROP e DELETE. Non possiamo ripristinare i record come il comando DROP dopo aver utilizzato il comando TRUNCATE.

Sintassi del comando TRUNCATE in SQL:

TRUNCATE TABLE tablename;

Nella sintassi sopra, dobbiamo menzionare il nome della tabella di cui vogliamo eliminare i dati dalla tabella.

Faremo alcuni esempi usando il comando TRUNCATE.

Esempio di comando TRUNCATE:

Passaggio 1: Crea un database o utilizza un database esistente.

Passaggio 2: Crea una nuova tabella o usa una tabella esistente.

Considera la tabella esistente con i seguenti record:

Tabella:Dipendente:

ID DIPENDENTE FIRST_NAME COGNOME STIPENDIO CITTÀ REPARTO RIDESTORE
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NICHIL VANI 50500 JAIPUR FM 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FM 2
2003 RUCHIKA JAIN 50000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FM 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI PROVA 4
4002 ASHWINI BAGAGLIO 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI PROVA 4

Esempio: Scrivi una query per eliminare tutti i record dalla tabella dipendenti utilizzando il comando tronca.

TRUNCATE TABLE Employee;

Abbiamo eliminato tutti i record dalla query precedente dalla tabella dei dipendenti.

Per verificare se tutti i record dalla tabella dipendenti sono stati eliminati o non correttamente, eseguiremo la query SELECT sulla tabella dipendenti.

SELECT * FROM Employee;
ID DIPENDENTE FIRST_NAME COGNOME STIPENDIO CITTÀ REPARTO RIDESTORE

Quando eseguiamo la query select sulla tabella del dipendente, viene visualizzato il messaggio di set vuoto, il che significa che il comando tronca sulla tabella del dipendente è stato eseguito correttamente.

I punti seguenti mostrano la differenza tra il comando Rilascia e il comando Tronca nel linguaggio di query strutturato:

Il comando DROP Il comando TRUNCATE
Il comando DROP cancella la struttura della tabella ei record della tabella. Il comando TRUNCATE elimina tutti i record dalla tabella.
Il comando DROP è un comando del linguaggio di definizione dei dati. Il comando TRUNCATE è anche un comando del linguaggio di definizione dei dati.
Nel comando DROP, lo spazio della tabella è libero da memoria Il comando TRUNCATE non libera il tablespace dalla memoria.
La vista tabella non esiste nel comando DROP La vista tabella esiste nel comando TRUNCATE
Nel comando DROP, non possiamo utilizzare lo spazio di eliminazione. Nel comando TRUNCATE, possiamo usare lo spazio di eliminazione ma meno rispetto all'istruzione DELETE.
Nel comando DROP, i vincoli di integrità verranno rimossi automaticamente dalla tabella. I vincoli di integrità non verranno rimossi dalla tabella nel comando TRUNCATE.
Il comando DROP cancella i record velocemente, ma ci sono molte complicazioni. Il comando TRUNCATE è più veloce del comando DROP.