Che cos’è DDL?
Data Definition Language ti aiuta a definire la struttura del database o schema. I comandi DDL aiutano a creare la struttura del database e gli altri oggetti del database. I suoi comandi sono auto-committenti, quindi le modifiche vengono salvate nel database in modo permanente. La forma completa di DDL è Data Definition Language.
In questo tutorial sulla differenza tra DML e DDL, imparerete:
- Che cos’è il DDL?
- Che cos’è DML?
- Perché DDL?
- Perché DML?
- Differenza tra DDL e DML nel DBMS
- Comandi per DDL
- Comandi per DML
- Esempio di comando DDL
- Esempio di comando DML
Cos’è il DML?
I comandi DML ti permettono di gestire i dati memorizzati nel database, sebbene i comandi DML non siano auto-committed. Inoltre, non sono permanenti. Quindi, è possibile annullare l’operazione. La forma completa di DML è Data Manipulation Language.
Di seguito è riportata la differenza chiave tra DDL e DML nei DBMS:
SIMILI DIFFERENZE:
- Data Definition Language (DDL) vi aiuta a definire la struttura del database o schema mentre Data Manipulation language (comando DML) vi permette di gestire i dati memorizzati nel database.
- Il comando DDL è usato per creare lo schema del database mentre il comando DML è usato per popolare e manipolare il database
- Confrontando DDL con DML, le istruzioni DDL influenzano l’intera tabella mentre i comandi DML influenzano solo una o più righe.
- Nel DDL, l’istruzione SQL non può essere rollbackata mentre nel DML l’istruzione SQL può essere rollbackata.
- DDL è un metodo dichiarativo mentre DML è un metodo imperativo.
- I comandi DDL importanti sono: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, ecc. mentre i comandi DML importanti sono: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, ecc.
Perché DDL?
Qui ci sono ragioni per usare il metodo DDL:
- Consente di memorizzare dati condivisi
- Indipendenza dei dati migliore integrità
- Consente a più utenti
- Miglioramento della sicurezza accesso efficiente ai dati
Perché DML?
Qui, benefici/profitti di DML:
- Le dichiarazioni DML permettono di modificare i dati memorizzati in un database.
- Gli utenti possono specificare quali dati sono necessari.
- DML offre molti gusti e capacità diverse tra i fornitori di database.
- Offre un’efficiente interazione umana con il sistema.
Differenza tra DDL e DML nei DBMS
Ecco la principale differenza tra i comandi DDL e DML:
DDL | DML |
Data Definition Language (DDL) aiuta a definire la struttura del database o schema. | Data Manipulation Language (comando DML) vi permette di gestire i dati memorizzati nel database. |
Il comando DDL è usato per creare lo schema del database. | Il comando DML è usato per popolare e manipolare il database |
DDL non è classificato ulteriormente. | DML è classificato come DML procedurale e non procedurale. |
CREATE, ALTER, DROP, TRUNCATE AND COMMENT e RENAME, ecc. | INSERT, UPDATE, DELETE, MERGE, CALL, ecc. |
Definisce la colonna della tabella. | Aggiunge o aggiorna la riga della tabella |
Le istruzioni DLD influiscono sull’intera tabella. | DML ha effetto su una o più righe. |
L’istruzione SQL non può essere un rollback | L’istruzione SQL può essere un rollback |
DDL è dichiarativa. | DML è imperativo. |
Comandi per DDL
Cinque tipi di comandi DDL sono:
CREATE
Le istruzioni Create sono usate per definire lo schema della struttura del database:
Sintassi:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Per esempio:
Create database university;Create table students;Create view for_students;
DROP
I comandi Drops rimuovono tabelle e database da RDBMS.
Sintassi:
DROP TABLE ;
Per esempio:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
Il comandoAlters permette di modificare la struttura del database.
Sintassi:
Per aggiungere una nuova colonna nella tabella
ALTER TABLE table_name ADD column_name COLUMN-definition;
Per modificare una colonna esistente nella tabella:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Per esempio:
Alter table guru99 add subject varchar;
TRUNCATE:
Questo comando serve per eliminare tutte le righe dalla tabella e liberare lo spazio che contiene la tabella.
Sintassi:
TRUNCATE TABLE table_name;
Esempio:
TRUNCATE table students;
Comandi per DML
Ecco alcuni importanti comandi DML:
- INSERT
- UPDATE
- DELETE
INSERT:
Questa è una dichiarazione che è una query SQL. Questo comando è usato per inserire dati nella riga di una tabella.
Sintassi:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Per esempio:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Questo comando è usato per aggiornare o modificare il valore di una colonna nella tabella.
Sintassi:
UPDATE table_name SET
Per esempio:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Questo comando è usato per rimuovere una o più righe da una tabella.
Sintassi:
DELETE FROM table_name ;
Per esempio:
DELETE FROM students WHERE FirstName = 'Jhon';
Esempio di comando DDL
CREATE
Sintassi:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Qui,
- Il parametro tableName indica il nome della tabella che state per creare.
- I parametri column_1, column_2… indicano le colonne da aggiungere alla tabella.
- Una colonna dovrebbe essere specificata come NULL o NOT NULL. Se non si specifica, SQL Server prenderà NULL come predefinito
Esempio:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Sintassi:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Esempio:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Sintassi:
DROP TABLE <tableName>;
Il parametro tableName è il nome della tabella da cancellare.
Esempio:
DROP TABLE COURSE_NAMES;
Esempio di comando DML
INSERT
In PL/SQL, possiamo inserire i dati in qualsiasi tabella usando il comando SQL INSERT INTO. Questo comando prenderà il nome della tabella, la colonna della tabella e i valori della colonna come input e inserirà il valore nella tabella base.
Il comando INSERT può anche prendere i valori direttamente da un’altra tabella usando l’istruzione ‘SELECT’ piuttosto che dare i valori per ogni colonna. Attraverso l’istruzione ‘SELECT’, possiamo inserire tante righe quante ne contiene la tabella base.
Sintassi:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
La sintassi sopra mostra il comando INSERT INTO. Il nome della tabella e i valori sono campi obbligatori, mentre i nomi delle colonne non sono obbligatori se le istruzioni di inserimento hanno valori per tutte le colonne della tabella.
La parola chiave ‘VALUES’ è obbligatoria se i valori sono dati separatamente, come mostrato sopra.
Sintassi:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
La sintassi sopra mostra il comando INSERT INTO che prende i valori direttamente dalla <tabella_nome2> usando il comando SELECT.
La parola chiave ‘VALUES’ non dovrebbe essere presente in questo caso, poiché i valori non sono dati separatamente.
DELETE
Di seguito la sintassi per cancellare la tabella
Sintassi:
DROP TABLE <TableName>;
Il parametro TableName è il nome della tabella da cancellare.
Esempio:
DROP TABLE COURSE_NAMES;
SELECT
Per visualizzare i dati in SQL Server, usiamo l’istruzione SELECT.
Sintassi:
SELECT expressionFROM tableName;
Esempio:
SELECT * FROM Course;