DDL-i ja DML-i erinevus DBMS-is
Peamised erinevused DDL ja DML vahel
- Data Definition Language (DDL) aitab teil mรครคratleda andmebaasi struktuuri vรตi skeemi, samas kui Data Manipulation Language (DML-kรคsk) vรตimaldab hallata andmebaasi salvestatud andmeid.
- DDL-kรคsku kasutatakse andmebaasi skeemi loomiseks, DML-kรคsku aga andmebaasi tรคitmiseks ja sellega manipuleerimiseks.
- DDL-i ja DML-i vรตrdlemisel mรตjutavad DDL-laused kogu tabelit, samas kui DML-kรคsud mรตjutavad ainult รผhte vรตi mitut rida.
- DDL-is ei saa SQL-lauset tagasi vรตtta, samas kui DML-is saab SQL-lauset tagasi vรตtta.
- DDL on deklaratiivne meetod, samas kui DML on hรคdavajalik meetod.
- Olulised DDL-kรคsud on: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE jne, samas kui olulised DML-kรคsud on: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE jne.

Siin olen analรผรผsinud DDL-i ja DML-i erinevust ning hindan pรตhjalikult nende plusse ja miinuseid.
Mis on DDL?
Andmete mรครคratlemise keel aitab teil mรครคratleda andmebaasi struktuuri vรตi skeemi. DDL-kรคsud aitavad teil luua andmebaasi ja teiste andmebaasiobjektide struktuuri. Selle kรคsud tรคidetakse automaatselt, nii et muudatused salvestatakse andmebaasi jรครคdavalt. DDL-i tรคisvorm on Data Definition Language.
DDL kรคsud
Viis tรผรผpi DDL-kรคske on:
LUUA
CREATE lauseid kasutatakse andmebaasi struktuuri skeemi mรครคratlemiseks:
sรผntaksit:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Nรคiteks:
Create database university; Create table students; Create view for_students;
DROP
Dropsi kรคsud eemaldavad tabelid ja andmebaasid RDBMS.
sรผntaksit:
DROP TABLE ;
Nรคiteks:
Drop object_type object_name; Drop database university; Drop table student;
VANUS
Alters kรคsk vรตimaldab teil muuta selle struktuuri andmebaas.
sรผntaksit:
Tabelisse uue veeru lisamiseks
ALTER TABLE table_name ADD column_name COLUMN-definition;
Tabeli olemasoleva veeru muutmiseks tehke jรคrgmist.
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Nรคiteks:
Alter table guru99 add subject varchar;
KรRBI
Seda kรคsku kasutatakse tabelist kรตigi ridade kustutamiseks ja tabelit sisaldava ruumi vabastamiseks.
sรผntaksit:
TRUNCATE TABLE table_name;
Nรคide:
TRUNCATE table students;
DDL kรคsu nรคide
LUUA
sรผntaksit:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
Siin
- Parameeter tableName tรคhistab loodava tabeli nime.
- Parameetrid veerg_1, veerg_2โฆ tรคhistavad tabelisse lisatavaid veerge.
- Veerg tuleks mรครคrata kas NULL vรตi NOT NULL. Kui te ei tรคpsusta, SQL Server vรตtab vaikevรครคrtuseks NULL
Nรคide:
CREATE TABLE Students ( Student_ID Int, Student_Name Varchar(10) )
VANUS
sรผntaksit:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Nรคide:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
sรผntaksit:
DROP TABLE <tableName>;
Parameeter tableName on kustutatava tabeli nimi.
Nรคide:
DROP TABLE COURSE_NAMES;
Miks me kasutame DDL-kรคske?
Siin selgitan, miks eelistame DDL-meetodit:
- Vรตimaldab salvestada jagatud andmeid
- Andmete sรตltumatus parandas terviklikkust
- Vรตimaldab mitut kasutajat
- Tรคiustatud turvalisus ja tรตhus juurdepรครคs andmetele
Mis on DML?
DML annab sellele kรคsud, et saaksite hallata andmebaasi salvestatud andmeid, kuigi DML-i kรคske ei tรคideta automaatselt. Pealegi pole need pรผsivad. Niisiis, operatsiooni on vรตimalik tagasi lรผkata. DML-i tรคisvorm on andmemanipulatsioonikeel.
DML kรคsud
Tahaksin esile tรตsta mรตned olulised DML-kรคsud:
- INSERT
- UPDATE
- Kustuta
INSERT
See on SQL-pรคring. Seda kรคsku kasutatakse andmete sisestamiseks tabeli reale.
sรผntaksit:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Nรคiteks:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE
Seda kรคsku kasutatakse tabeli veeru vรครคrtuse vรคrskendamiseks vรตi muutmiseks.
sรผntaksit:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Nรคiteks:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
Kustuta
Seda kรคsku kasutatakse tabelist รผhe vรตi mitme rea eemaldamiseks.
sรผntaksit:
DELETE FROM table_name [WHERE condition];
Nรคiteks:
DELETE FROM students WHERE FirstName = 'Jhon';
DML-i kรคsu nรคide
INSERT
In PL / SQL, saame sisestada andmed mis tahes tabelisse, kasutades SQL kรคsk INSERT INTO. See kรคsk vรตtab sisendiks tabeli nime, tabeli veeru ja veeru vรครคrtused ning lisab vรครคrtuse pรตhitabelisse.
Kรคsk INSERT vรตib vรตtta vรครคrtused ka otse teisest tabelist, kasutades kรคsku 'SELECT', selle asemel, et anda iga veeru vรครคrtusi. SELECT-lause kaudu saame sisestada nii palju ridu, kui palju baastabel sisaldab.
sรผntaksit:
BEGIN
INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>)
VALUES(<valuel><value2>,...:<value_n>);
END;
รlaltoodud sรผntaks nรคitab kรคsku INSERT INTO. Tabeli nimi ja vรครคrtused on kohustuslikud vรคljad, samas kui veergude nimed pole kohustuslikud, kui sisestuslausetel on vรครคrtused tabeli kรตigi veergude jaoks.
Mรคrksรตna VรรRTUSED on kohustuslik, kui vรครคrtused on toodud eraldi, nagu รผlal nรคidatud.
sรผntaksit:
BEGIN
INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>)
SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;
END;
รlaltoodud sรผntaks nรคitab kรคsku INSERT INTO, mis vรตtab vรครคrtused otse failist kasutades kรคsku SELECT.
Mรคrksรตna 'VรรRTUSED' ei tohiks sel juhul esineda, kuna vรครคrtusi ei anta eraldi.
Kustuta
Allpool on tabeli kustutamise sรผntaks
sรผntaksit:
DROP TABLE <TableName>;
Parameeter TableName on kustutatava tabeli nimi.
Nรคide:
DROP TABLE COURSE_NAMES;
SELECT
Andmete vaatamiseks SQL Serveris kasutame SELECT-lauset.
sรผntaksit:
SELECT expression FROM tableName [WHERE condition];
Nรคide:
SELECT * FROM Course;
Miks me kasutame DML-kรคske?
Siin on meie kollektiivse kogemuse pรตhjal DML-i eelised.
- DML-laused vรตimaldavad teil muuta andmebaasis salvestatud andmeid.
- Kasutajad saavad mรครคrata, milliseid andmeid on vaja.
- DML pakub andmebaasimรผรผjate vahel palju erinevaid maitseid ja vรตimalusi.
- See pakub tรตhusat inimeste suhtlemist sรผsteemiga.
DDL-i ja DML-i erinevus DBMS-is
Lubage mul selgitada peamist erinevust DDL-i ja DML-i kรคskude vahel DB-sรผsteemid:

| Vรตrdluse alus | DDL | DML |
|---|---|---|
| Pรตhi- | Data Definition Language (DDL) aitab teil mรครคratleda andmebaasi struktuuri vรตi skeemi. | Data Manipulation Language (DML-kรคsk) vรตimaldab hallata andmebaasi salvestatud andmeid. |
| Kasutama | DDL-kรคsku kasutatakse andmebaasi skeemi loomiseks. | DML-kรคsku kasutatakse andmebaasi tรคitmiseks ja manipuleerimiseks |
| Liigitamine | DDL-i ei klassifitseerita edasi. | DML liigitatakse protseduurilisteks ja mitte- ja menetluslikeks DML-ideks. |
| Kรคskude kasutamine |
DDL-keeles tavaliselt kasutatavad kรคsud on:
|
Tavaliselt kasutatavad kรคsud DML-keele all on:
|
| Mรครคratleb | See mรครคrab tabeli veeru. | See lisab vรตi vรคrskendab tabeli rida |
| Mรตju | DDL-laused mรตjutavad kogu tabelit. | DML mรตjutab รผhte vรตi mitut rida. |
| Tagastus | SQL-lauset ei saa tagasi vรตtta | SQL-lause vรตib olla tagasipรถรถramine |
Kuidas valida DDL-i ja DML-i vahel
Tรคheldame, et kuigi DDL-i kasutatakse andmebaasi struktuuri mรครคratlemiseks, on DML seotud ainult andmetega, millest igaรผks tรคidab kriitilisi rolle.
