- Co je DDL?
- Co je DML?
- KLÍČOVÉ ROZDÍLY:
- Proč DDL?
- Proč DML?
- Rozdíl mezi DDL a DML v DBMS
- Příkazy pro DDL
- Příkaz CREATE
- DROP
- ALTER
- TRUNCATE:
- Příkazy pro DML
- INSERT:
- UPDATE:
- DELETE:
- CREATE
- Příkaz DDL: CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
- ALTER
- DROP
- Příklad příkazu DML
- INSERT
- DELETE
- SELECT
Co je DDL?
Data Definition Language pomáhá definovat strukturu databáze neboli schéma. Příkazy DDL vám pomáhají vytvořit strukturu databáze a další databázové objekty. Jeho příkazy jsou automaticky odesílány, takže změny jsou v databázi uloženy trvale. Plná podoba DDL je Data Definition Language.
V tomto výukovém kurzu o rozdílech mezi DML a DDL se dozvíte:
- Co je to DDL?
- Co je to DML?
- Proč DDL?
- Proč DML?
- Rozdíl mezi DDL a DML v DBMS
- Příkazy pro DDL
- Příkazy pro DML
- Příklad příkazu DDL
- Příklad příkazu DML
Co je DML?
Příkazy DML to umožňují spravovat data uložená v databázi, ačkoli příkazy DML nejsou automaticky odesílány. Navíc nejsou trvalé. Je tedy možné operaci vrátit zpět. Plná podoba DML je Data Manipulation Language (jazyk pro manipulaci s daty).
Níže je uveden klíčový rozdíl mezi DDL a DML v DBMS:
KLÍČOVÉ ROZDÍLY:
- Data Definition Language (DDL) pomáhá definovat strukturu nebo schéma databáze, zatímco Data Manipulation Language (příkaz DML) umožňuje spravovat data uložená v databázi.
- Příkaz DDL slouží k vytvoření schématu databáze, zatímco příkaz DML slouží k naplnění a manipulaci s databází
- Při porovnání DDL a DML platí, že příkazy DDL ovlivňují celou tabulku, zatímco příkazy DML ovlivňují pouze jeden nebo více řádků. Důležité příkazy DML jsou: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE atd., zatímco důležité příkazy DML jsou:
Proč DDL?
Zde jsou uvedeny důvody pro použití metody DDL:
- Umožňuje ukládat sdílená data
- Nezávislost na datech zlepšuje integritu
- Umožňuje více uživatelů
- Zlepšuje bezpečnost efektivní přístup k datům
Proč DML?
Zde jsou výhody/profity DML:
- Příkazy DML umožňují měnit data uložená v databázi.
- Uživatelé mohou určit, jaká data potřebují.
- DML nabízí mnoho různých variant a možností mezi jednotlivými dodavateli databází.
- Nabízí efektivní interakci člověka se systémem.
Rozdíl mezi DDL a DML v DBMS
Zde je hlavní rozdíl mezi příkazy DDL a DML:
DDL | DML |
Data Definition Language (DDL) pomáhá definovat strukturu databáze neboli schéma. | Jazyk pro manipulaci s daty (příkaz DML) umožňuje spravovat data uložená v databázi. |
Příkaz DDL slouží k vytvoření schématu databáze. | Příkaz DML slouží k naplnění a manipulaci s databází |
Příkaz DML není dále klasifikován. | Příkaz DML se klasifikuje jako procedurální a neprocedurální a procedurální DML. |
CREATE, ALTER, DROP, TRUNCATE A COMMENT a RENAME atd. | INSERT, UPDATE, DELETE, MERGE, CALL atd. |
Definuje sloupec tabulky. | Přidává nebo aktualizuje řádek tabulky |
Příkazy DDL ovlivňují celou tabulku. | DML ovlivňuje jeden nebo více řádků. |
SQL příkaz nelze vrátit | SQL příkaz lze vrátit |
DDL je deklarativní. | DML je imperativní. |
Příkazy pro DDL
Pět typů příkazů DDL je následujících:
Příkaz CREATE
Příkaz CREATE slouží k definování schématu struktury databáze:
Syntaxe:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Například:
Create database university;Create table students;Create view for_students;
DROP
Příkazy Drops odstraňují tabulky a databáze ze systému RDBMS.
Syntaxe:
DROP TABLE ;
Například:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
Příkaz ALTER umožňuje měnit strukturu databáze.
Syntaxe:
Příkaz přidá nový sloupec do tabulky
ALTER TABLE table_name ADD column_name COLUMN-definition;
Příkaz upraví existující sloupec v tabulce:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Například:
Alter table guru99 add subject varchar;
TRUNCATE:
Tento příkaz slouží k odstranění všech řádků z tabulky a uvolnění místa, které tabulka obsahuje.
Syntaxe:
TRUNCATE TABLE table_name;
Příklad:
TRUNCATE table students;
Příkazy pro DML
Zde jsou uvedeny některé důležité příkazy DML:
- INSERT
- UPDATE
- DELETE
INSERT:
Tento příkaz je dotazem SQL. Tento příkaz slouží k vložení dat do řádku tabulky.
Syntaxe:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Například:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Tento příkaz se používá k aktualizaci nebo změně hodnoty sloupce v tabulce.
Syntaxe:
UPDATE table_name SET
Například:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Tento příkaz se používá k odstranění jednoho nebo více řádků z tabulky.
Syntaxe:
DELETE FROM table_name ;
Například: Příklad příkazu DDL
CREATE
Syntaxe:
DELETE FROM students WHERE FirstName = 'Jhon';
Příkaz DDL:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Tady
- Parametr tableName označuje název tabulky, kterou budete vytvářet.
- Parametry column_1, column_2… označují sloupce, které budou do tabulky přidány.
- Sloupec by měl být specifikován jako NULL nebo NOT NULL. Pokud je neuvedete, bude SQL Server považovat za výchozí hodnotu NULL
Příklad:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Syntaxe:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Příklad:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Syntaxe:
DROP TABLE <tableName>;
Parametr tableName je název tabulky, která má být odstraněna.
Příklad:
DROP TABLE COURSE_NAMES;
Příklad příkazu DML
INSERT
V jazyce PL/SQL můžeme vložit data do libovolné tabulky pomocí příkazu SQL INSERT INTO. Tento příkaz vezme jako vstup název tabulky, sloupec tabulky a hodnoty sloupců a vloží hodnotu do základní tabulky.
Příkaz INSERT může také převzít hodnoty přímo z jiné tabulky pomocí příkazu ‚SELECT‘ místo zadávání hodnot pro jednotlivé sloupce. Prostřednictvím příkazu ‚SELECT‘ můžeme vložit tolik řádků, kolik jich obsahuje základní tabulka.
Syntaxe:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
Výše uvedená syntaxe ukazuje příkaz INSERT INTO. Název tabulky a hodnoty jsou povinná pole, zatímco názvy sloupců povinné nejsou, pokud příkazy pro vložení obsahují hodnoty pro všechny sloupce tabulky.
Klíčové slovo „VALUES“ je povinné, pokud jsou hodnoty uvedeny samostatně, jak je uvedeno výše.
Syntaxe:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
Výše uvedená syntaxe ukazuje příkaz INSERT INTO, který přebírá hodnoty přímo z <tabulky_název2> pomocí příkazu SELECT.
Klíčové slovo ‚VALUES‘ by v tomto případě nemělo být přítomno, protože hodnoty nejsou uvedeny samostatně.
DELETE
Níže je uvedena syntaxe pro odstranění tabulky
Syntaxe:
DROP TABLE <TableName>;
Parametr TableName je název tabulky, která má být odstraněna.
Příklad:
DROP TABLE COURSE_NAMES;
SELECT
Pro zobrazení dat v SQL Serveru používáme příkaz SELECT.
Syntaxe:
SELECT expressionFROM tableName;
Příklad:
SELECT * FROM Course;