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.
DDL-i ja DML-i erinevus DBMS-is
DDL-i ja DML-i erinevus DBMS-is

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:

Peamised erinevused DDL ja DML vahel
DDL vs DML
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:

  • LUUA
  • VANUS
  • DROP
  • Kร•RBI
  • COMMENT
  • RENAME

Tavaliselt kasutatavad kรคsud DML-keele all on:

  • INSERT
  • UPDATE
  • Kustuta
  • รœHENDAB
  • CALL
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.

Vรตta see postitus kokku jรคrgmiselt: