Příkazy SQL: DML, DDL, DCL, TCL, DQL s příkladem dotazu
Co je SQL?
SQL je databázový jazyk určený pro vyhledávání a správu dat v relační databázi.
SQL je standardní jazyk pro správu databází. Všechny systémy RDBMS jako MySQL, MS Access, Oracle, Sybase, Postgres a SQL Server používají SQL jako svůj standardní databázový jazyk. Programovací jazyk SQL používá různé příkazy pro různé operace. Na příkladech se seznámíme s podobnými příkazy DCL, TCL, DQL, DDL a DML v SQL.
Proč používat SQL?
Zde jsou důležité důvody pro použití SQL
- Pomáhá uživatelům přistupovat k datům v systém RDBMS.
- Pomůže vám popsat data.
- Umožňuje vám definovat data v databázi a manipulovat s těmito konkrétními daty.
- S pomocí SQL příkazů v DBMS můžete vytvářet a rušit databáze a tabulky.
- SQL vám nabízí použití funkce v databázi, vytvoření pohledu a uložené procedury.
- Můžete nastavit oprávnění pro tabulky, procedury a pohledy.
Stručná historie SQL
Zde jsou důležité orientační body z historie SQL:
- 1970 – Dr. Edgar F. „Ted“ Codd popsal relační model pro databáze.
- 1974 – Objevil se strukturovaný dotazovací jazyk.
- 1978 - IBM vydala produkt s názvem System/R.
- 1986 - IBM vyvinul prototyp relační databáze, která je standardizována ANSI.
- 1989 – vůbec první verze SQL
- 1999 – Spuštěn SQL 3 s funkcemi, jako jsou spouštěče, objektová orientace atd.
- SQL2003 – funkce okna, funkce související s XML atd.
- SQL2006- Podpora pro dotazovací jazyk XML
- SQL2011-vylepšená podpora pro dočasné databáze
Typy SQL
Zde je pět typů široce používaných SQL dotazů.
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Jazyk řízení transakcí (TCL)
- Data Query Language (DQL)

Podívejme se na každou z nich podrobně:
Co je DDL?
Data Definition Language vám pomůže definovat strukturu databáze nebo schéma. Pojďme se dozvědět o příkazech DDL se syntaxí.
Pět typů příkazů DDL v SQL je:
CREATE
Příkazy CREATE se používají 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 odstraní tabulky a databáze z RDBMS.
Syntax
DROP TABLE ;
Například:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
Příkaz Alters umožňuje změnit strukturu databáze.
Syntaxe:
Přidání nového sloupce do tabulky
ALTER TABLE table_name ADD column_name COLUMN-definition;
Chcete-li upravit existující sloupec v tabulce:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Například:
Alter table guru99 add subject varchar;
Zkrátit
Tento příkaz slouží k odstranění všech řádků z tabulky a uvolnění místa obsahujícího tabulku.
Syntaxe:
TRUNCATE TABLE table_name;
Příklad:
TRUNCATE table students;
Co je jazyk pro manipulaci s daty?
Data Manipulation Language (DML) umožňuje upravit instanci databáze vložením, úpravou a odstraněním jejích dat. Zodpovídá za provádění všech typů úprav dat v databázi.
Existují tři základní konstrukce, které umožňují databázovému programu a uživateli zadávat data a informace:
Zde jsou některé důležité příkazy DML v SQL:
- INSERT
- UPDATE
- DELETE
INSERT
Toto je příkaz SQL dotaz. Tento příkaz se používá 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 úpravě hodnoty sloupce v tabulce.
Syntaxe:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
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 [WHERE condition];
Například:
DELETE FROM students WHERE FirstName = 'Jhon';
Co je DCL?
DCL (Data Control Language) obsahuje příkazy jako GRANT a REVOKE, které jsou užitečné pro udělení „práv a oprávnění“. Další oprávnění řídí parametry databázového systému.
Příklady příkazů DCL
Příkazy, které spadají pod DCL:
- Grant
- Revfajn
Grant
Tento příkaz se používá k udělení oprávnění přístupu uživatele k databázi.
Syntaxe:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Například:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revfajn
Je užitečné zálohovat oprávnění od uživatele.
Syntaxe:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Například:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Co je TCL?
Jazyk řízení transakcí nebo příkazy TCL se zabývají transakcí v databázi.
Spáchat
Tento příkaz se používá k uložení všech transakcí do databáze.
Syntaxe:
Commit;
Například:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
Příkaz Rollback umožňuje vrátit zpět transakce, které ještě nebyly uloženy do databáze.
Syntaxe:
ROLLBACK;
Příklad:
DELETE FROM Students WHERE RollNo =25;
ULOŽIT BOD
Tento příkaz vám pomůže nastavit bod uložení v rámci transakce.
Syntaxe:
SAVEPOINT SAVEPOINT_NAME;
Příklad:
SAVEPOINT RollNo;
Co je DQL?
Data Query Language (DQL) se používá k načítání dat z databáze. Používá pouze jeden příkaz:
SELECT
Tento příkaz vám pomůže vybrat atribut na základě podmínky popsané v klauzuli WHERE.
Syntaxe:
SELECT expressions FROM TABLES WHERE conditions;
Například:
SELECT FirstName FROM Student WHERE RollNo > 15;
Shrnutí
- SQL je databázový jazyk určený pro vyhledávání a správu dat v relační databázi.
- Pomáhá uživatelům přistupovat k datům v systému RDBMS
- V roce 1974 se objevil termín Structured Query Language
- Pět typů dotazů SQL je 1) Data Definition Language (DDL) 2) Data Manipulation Language (DML) 3) Data Control Language (DCL) 4) Transaction Control Language (TCL) a 5) Data Query Language (DQL)
- Data Definition Language (DDL) vám pomůže definovat strukturu databáze nebo schéma.
- Data Manipulation Language (DML) umožňuje upravit instanci databáze vložením, úpravou a odstraněním jejích dat.
- DCL (Data Control Language) obsahuje příkazy jako GRANT a REVOKE, které jsou užitečné pro udělení „práv a oprávnění“.
- Jazyk řízení transakcí nebo příkazy TCL se zabývají transakcí v databázi.
- Data Query Language (DQL) se používá k načítání dat z databáze.
