sql >> Databáze >  >> RDS >> Database

Typy SQL příkazů

Structured Query Language se používá pro práci se strukturovanými daty. Data, která jsou uložena ve formě tabulek, jsou strukturovaná data. Tyto příkazy SQL ukládají záznamy nebo data do tabulky a používají se také k načítání záznamů z uložených tabulek. Existují čtyři typy příkazů strukturovaného dotazovacího jazyka:

  1. Příkazy jazyka definice dat.
  2. Příkazy jazyka pro manipulaci s daty.
  3. Příkazy jazyka řízení dat.
  4. Příkazy jazyka řízení transakcí.

Příkazy jazyka definice dat

DDL je zkratka pro Data Definition Language. Příkazy jazyka definice dat se používají k řešení struktury, tj. tabulky nebo vztahu, ve kterém jsou uloženy naše záznamy nebo data. Příkazy jazyka definice dat se používají k vytvoření, odstranění a změně tabulky. Příkazy jazyka definice dat jsou:

  1. Příkaz CREATE.
  2. Příkaz ALTER.
  3. Příkaz DROP.
  4. Příkaz TRUNCATE.

Příkazy CREATE: Ve Structured Query Language ukládáme data do tabulky a k vytvoření nové tabulky nebo databáze používáme příkaz CREATE z příkazů jazyka definice dat. Níže je uvedena syntaxe pro vytvoření databáze:

CREATE DATABASE DATABASE_NAME;

Příklady

  • Napište dotaz pro vytvoření nové databáze následovaný názvem databáze Společnost.
CREATE DATABASE COMPANY;	

Pro kontrolu, zda je vytvořena databáze Společnost, použijeme následující dotaz:

SHOW DATABASES; 
Databáze
společnost
zaměstnanec
informační_schéma
mysql
schema_výkonu
phpmyadmin

Výše uvedený výsledek říká, že jsme úspěšně vytvořili Společnost Databáze.

  • Napište dotaz pro vytvoření nové tabulky:

Vytvoříme novou tabulku Zaměstnanci uvnitř Společnosti Databáze. Musíme vybrat Firemní databáze.

CREATE TABLE TABLE_NAME(COLUMN_NAME1 DATATYPE(COLUMN SIZE), COLUMN_NAME2 DATATYPE (COLUMN SIZE),COLUMN_NAME3 DATATYPE (COLUMN SIZE));

Pro výběr Firemní databáze použijeme následující dotaz:

USE COMPANY;

Nyní jako databázi vybereme Společnost; provedeme dotaz CREATE TABLE pro vytvoření tabulky:

CREATE TABLE EMPLOYEES (EMPLOYEE INT PRIMARY KEY, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR (20), SALARY INT, CITY VARCHAR (20) );

Vytvořili jsme tabulku s názvem Zaměstnanci pomocí dotazu CREATE TABLE.

Pro kontrolu, zda je vytvořena tabulka Zaměstnanci, použijeme následující dotaz:

SHOW TABLES;
Tabulky_ve_společnosti
zaměstnanci

Výše uvedený výsledek říká, že jsme úspěšně vytvořili tabulku 'Zaměstnanci'.

Další tabulku vytvoříme pomocí CREATE TABLE.

CREATE TABLE DEPARTMENT (DEPARTMENT INT PRIMARY KEY, DEPARTMENT_NAME VARCHAR (20));

Vytvořili jsme název tabulky 'Department' pomocí dotazu CREATE TABLE.

Pro kontrolu, zda je tabulka Oddělení vytvořena, použijeme následující dotaz:

SHOW TABLES;  
Tabulky_ve_společnosti
zaměstnanci oddělení

Výše uvedený výsledek říká, že jsme úspěšně vytvořili tabulku 'Zaměstnanci'.

Příkaz ALTER: Ve Structured Query Language, kdykoli chceme upravit schéma nebo strukturu tabulky, použijeme příkaz ALTER příkazu Data Definition Language. Příkaz ALTER se používá k úpravě schématu tabulky přidáním nového sloupce, odstraněním existujícího sloupce z tabulky atd. níže je syntaxe příkazu ALTER pro přidání nového sloupce:

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Syntaxe příkazu ALTER k odstranění existujícího sloupce:

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Syntaxe příkazu ALTER k přejmenování sloupce existující tabulky:

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Například

  • Napište dotaz pro přidání nového sloupce do tabulky Zaměstnanci:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Zde jsme provedli příkaz ALTER TABLE na tabulce Zaměstnanci následovaný klíčovým slovem ADD, což znamená přidat sloupec s názvem sloupce Oddělení, datovým typem VARCHAR a velikostí sloupce 20. Výše ​​uvedený dotaz říká, že jsme přidali nový sloupec s názvem ' Department' s datovým typem VARCHAR a velikostí sloupce je 20.

Ke kontrole, zda je do tabulky Zaměstnanci přidán nový sloupec, použijeme příkaz DESC na tabulce zaměstnance.

DESC EMPLOYEES; 
Pole Typ Nulové Klíč Výchozí Navíc
ID ZAMĚSTNANCE int(11) NE PRI NULL
FIRST_NAME varchar(20) ANO NULL
LAST_NAME varchar(20) ANO NULL
PLAT int(11) ANO NULL
MĚSTO varchar(20) ANO NULL
ODDĚLENÍ varchar(20) ANO NULL

Výše uvedený výsledek ověřuje, že do tabulky zaměstnance byl úspěšně přidán nový sloupec.

Příkaz DROP: Příkaz DROP v jazyce Structured Query Language se používá k odstranění tabulky a schématu tabulky z databáze. Zde je syntaxe příkazu DROP;

DROP TABLE TABLE_NAME;

Napište dotaz pro odstranění tabulky oddělení z databáze zaměstnanců.

DROP TABLE DEPARTMENT;

Zde jsme provedli dotaz DROP TABLE na tabulku Department.

Pro kontrolu, zda je tabulka Oddělení smazána, použijeme následující dotaz:

SHOW TABLES;  
Tabulky_ve_společnosti
Zaměstnanci

Výše uvedený výsledek říká, že jsme úspěšně odstranili tabulku oddělení z databáze společnosti.

Příkaz TRUNCATE: Příkaz TRUNCATE v jazyce Structured Query Language odstraní všechna data z tabulky, aniž by narušil schéma tabulky v databázi. Níže je uvedena syntaxe příkazu TRUNCATE:

TRUNCATE TABLE TABLE_NAME  

Napište dotaz pro odstranění všech záznamů z tabulky Zaměstnanci.

Použijeme dotaz SELECT k načtení dat nejprve z tabulky Zaměstnanci a poté provedeme dotaz TRUNCATE.

SELECT * FROM EMPLOYEES;
ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ
1 Vaibhav Sharma 65 000 Noida Oracle
2 Shweta Sharma 55 000 Džajpur Oracle
3 Sonali Mali 60 000 Nashik FMW
TRUNCATE TABLE EMPLOYEES;

Zde jsme úspěšně odstranili všechna data z tabulky Zaměstnanci. Nyní použijeme dotaz SELECT na tabulku Zaměstnanci.

TRUNCATE TABLE EMPLOYEES;

Po provedení dotazu SELECT v tabulce Zaměstnanci se ve výsledku zobrazí prázdná sada. To znamená, že jsme úspěšně odstranili celou tabulku.

Příkaz jazyka pro manipulaci s daty

DML je zkratka pro Data Manipulation Language. Příkazy jazyka pro manipulaci s daty v jazyce Structured Query Language manipulují s daty v databázi. Příkazy jazyka pro manipulaci s daty se používají k načítání dat, ukládání dat, úpravě dat a odstraňování dat ze stávající tabulky.

Příkazy jazyka pro manipulaci s daty v jazyce strukturovaných dotazů jsou následující:

  1. Příkaz SELECT.
  2. Příkaz INSERT.
  3. Příkaz UPDATE.
  4. Příkaz DELETE.

Nejprve se podíváme na příkazy INSERT jazyka manipulace s daty v jazyce strukturovaných dotazů. Po INSERT se přesuneme k příkazu SELECT.

Příkaz INSERT: Příkaz INSERT ukládá data nebo záznamy do databázové tabulky. Příkaz INSERT je důležitým příkazem jazyka pro manipulaci s daty v jazyce strukturovaných dotazů.

Syntaxe příkazu jazyka INSERT Data Manipulation Language:

INSERT INTO TABLE_NAME VALUES (VALUE1, VALUE2, VALUE3, VALUE);

Tato syntaxe umožňuje všechna pole tabulky. V případě, že chcete vložit hodnoty pro vybraná pole, použijte níže uvedenou syntaxi:

INSERT INTO TABLE_NAME (COLUMN_NAME1, COLUMN_NAME2) VALUES (VALUE1, VALUE2);

Výše uvedená syntaxe se používá k uložení hodnot pro vybraná pole tabulky.

Například

V tomto příkladu vložíme záznam pro všechna pole v tabulce.

Vezměme si tabulku Zaměstnanci, která je prázdná. VLOŽÍME záznamy do tabulky hřebců.

Nyní uložíme nové záznamy do tabulky Zaměstnanci. Pro uložení záznamů do tabulky provedeme následující příkaz INSERT jazyka manipulace s daty:

INSERT INTO EMPLOYEES VALUES (1001, 'VAIBHAVI', 'MISHRA', 65000, 'PUNE', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1002, 'VAIBHAV', 'SHARMA', 60000, 'NOIDA', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1003, 'NIKHIL', 'VANI', 50000, 'JAIPUR', 'FMW');
INSERT INTO EMPLOYEES VALUES (1004, 'ANUJA', 'WANRE', 55000, 'DELHI', 'FMW');
INSERT INTO EMPLOYEES VALUES (2001, 'PRACHI', 'SHARMA', 55500, 'CHANDIGARH', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (2002, 'BHAVESH', 'JAIN', 65500, 'PUNE', 'ORACLE');

Do tabulky zaměstnanců jsme vložili šest záznamů.

Příkaz SELECT: Nejdůležitější příkazy jazyka pro manipulaci s daty v SQL je příkaz SELECT. Příkaz SELECT se používá k načtení dat zadané tabulky a příkaz SELECT se také používá k načtení vybraných polí tabulky pomocí klauzule WHERE v dotazu.

Syntaxe příkazu SELECT Data Manipulation Language Command

SELECT * FROM TABLE_NAME;

Výše uvedená syntaxe se používá k načtení celé tabulky.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

Výše uvedená syntaxe slouží k načtení všech záznamů vybraného sloupce.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

Výše uvedená syntaxe se používá k načtení jednotlivých záznamů pomocí klauzule WHERE specifikované názvem sloupce.

Například předpokládejme, že chcete načíst všechna data každého sloupce z tabulky:

SELECT * FROM EMPLOYEES;

Tento strukturovaný dotazovací jazyk zobrazuje následující data tabulky ZAMĚSTNANCI:

  • Načtěte z tabulky všechna data v jednom řádku pomocí klauzule WHERE zadané názvem sloupce:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

Výše uvedený dotaz načte všechny záznamy zaměstnanců, jejichž plat je vyšší než 55 000.

Tento strukturovaný dotazovací jazyk zobrazuje následující data tabulky ZAMĚSTNANCI:

Příkaz UPDATE: Příkaz UPDATE je dalším cenným příkazem jazyka pro manipulaci s daty v SQL. Příkazy UPDATE se používají k úpravě záznamů v databázové tabulce.

Syntaxe příkazu jazyka UPDATE Data Manipulation Language

UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

AKTUALIZUJTE, NASTAVTE A KDE jsou klíčová slova strukturovaného dotazovacího jazyka.

Příklady

  • Tento příklad popisuje, jak upravit hodnotu.

Podívejme se na tabulku ZAMĚSTNANCI:

ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIgarH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTOVÁNÍ
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA KDE 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTOVÁNÍ
  • Napište dotaz pro úpravu záznamu, jehož příjmení je 'Jain', a nastavte hodnotu Department na 'FMW'.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

Použijeme dotaz SELECT na tabulku Zaměstnanci, kde Příjmení je Jain, abychom ověřili, zda je hodnota změněna nebo ne.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Tento strukturovaný dotazovací jazyk zobrazuje následující data tabulky ZAMĚSTNANCI:

Příkaz DELETE: DELETE je příkaz jazyka pro manipulaci s daty, který se používá k odstranění záznamů z tabulky. Záznamy z tabulky odstraníme pomocí klauzule WHERE v dotazu.

Syntaxe příkazu jazyka UPDATE Data Manipulation Language

DELETE FROM TABLE_NAME WHERE CONDITION;

Například podívejme se na tabulku ZAMĚSTNANCI:

ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIgarH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTOVÁNÍ
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA KDE 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTOVÁNÍ
  • Napište dotaz pro smazání dat, jejichž název města je „Bombaj“;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

Použijeme dotaz SELECT na tabulku Zaměstnanci, abychom ověřili, zda je hodnota změněna nebo ne.

SELECT * FROM EMPLOYEES;

Tento strukturovaný dotazovací jazyk zobrazuje následující data tabulky ZAMĚSTNANCI:

ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIgarH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA KDE 50500 JAIPUR FMW

Výše uvedený výsledek ukazuje, že záznam s City Mumbai byl úspěšně smazán.

Příkazy jazyka řízení dat

DCL je zkratka jazyka Data Control Language. K řízení přístupových práv k záznamům v tabulkách strukturovaného dotazovacího jazyka používáme příkazy Data Control Language Commands. Pomocí příkazů Data Control Language můžeme udělit oprávnění pouze oprávněným uživatelům pro přístup k datům umístěným v tabulkách nebo databázích.

Uživatel má některá předem vytvořená přístupová oprávnění pro přístup k datům umístěným v tabulkách pouze pro konkrétního uživatele. Pomocí příkazů jazyka řízení dat můžeme přidělit oprávnění uživatelům ve strukturovaném dotazovacím jazyce nebo databázi nebo jim oprávnění odebrat (zrušit). Existují dva příkazy jazyka Data Control Language:

  1. GRANT: Příkazy Grant se používají k přiřazení přístupových oprávnění uživatelům k databázím nebo tabulkám.
  2. ODVOLAT: Pokud můžeme UDĚLIT uživatelům přístupová práva. V takovém případě chceme uživateli odebrat přidělená oprávnění k databázím. Pomocí příkazu REVOKE můžeme uživateli odebrat všechna přidělená oprávnění.

Jazyk řízení transakcí

V jazyce Structured Query Language máme příkazy Data Definition Language (DDL) a Data Manipulation Language (DML) stejně jako příkazy Transaction Control Language (TCL) ve Structured Query Language. Příkazy jazyka řízení transakcí v jazyce strukturovaných dotazů jsou Potvrdit a Vrácení zpět .

Jakékoli příkazy, které jsme provedli, jsou zabaleny do jedné pracovní jednotky známé jako transakce. Předpokládejme, že jsme provedli jednu operaci aktualizace nebo odstranění na tabulce provedené v transakci. Všechny operace nebo příkazy DDL nebo DML jsou uloženy nebo provedeny v transakci. Pro uložení takto provedeného DDL nebo DML musíme provést příkaz commit jazyka Transaction Control Language. Commit se používá k uložení všech operací, které jsme provedli na stole. Veškerá operace se uloží. To vše je o Commit.

A teď přemýšlejte, co když chceme vrátit zpět operace, které jsme uložili pomocí příkazů commit? Pak můžeme operaci vrátit zpět ve strukturovaném dotazovacím jazyce? Ano, můžeme vrátit provedené operace. Ke zrušení operací použijeme jiný příkaz jazyka řízení transakcí, a tím příkazem je vrácení zpět. Ke zrušení operace potvrzení ve strukturovaném dotazovacím jazyce použijeme příkaz Rollback. Příkazy v části Jazyk řízení transakcí jsou:

  1. Zavázat se
  2. Vrácení zpět

Zvažte existující tabulky zaměstnanců, které mají následující záznamy:

ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ
1001 VAIBHAVI MISHRA 65 000 PUNE ORACLE
1002 VAIBHAV SHARMA 60 000 NOIDA ORACLE
1003 NIKHIL VANI 50 000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIgarH ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50 000 MUMBAI TESTOVÁNÍ
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA KDE 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA
4001 RAJESH GOUD 60500 MUMBAI TESTOVÁNÍ

Můžeme použít příkaz commit a Rollback bez zahájení transakcí, ale naši transakci zahájíme pomocí Start Transaction Příkaz pro dobrou praxi.

Začněme a podívejme se na každý příklad operace jeden po druhém.

Nejprve vypneme automatické potvrzení přiřazením hodnoty auto-commit 0

SET AUTOCOMMIT = 0;
  • Vložte nové hodnoty do stávajících zaměstnanců tabulky a poté použijeme příkaz Commit:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

Použijeme dotaz SELECT ke kontrole, zda jsou data vložena do tabulky nebo ne:

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

Nyní k uložení této transakce použijeme příkaz commit.

COMMIT;

Podrobnosti o ID zaměstnance 2001 jsou nyní uloženy. Nebude to Rollback, pokud jej neodstraníme pomocí příkazu Delete.

  • Odstraníme všechny informace s id zaměstnance 2003 a poté příkaz delete vrátíme zpět pomocí příkazu Vrátit zpět.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

Použijeme dotaz SELECT ke kontrole, zda jsou data z tabulky odstraněna nebo ne:

SELECT * FROM EMPLOYEES;

ID zaměstnance 2003 je odstraněno z tabulky. Nyní použijeme příkaz Rollback ke zrušení operace odstranění.

ROLLBACK;

Po provedení příkazu Rollback znovu použijeme dotaz SELECT ke kontrole, zda operace odstranění je Rollback nebo ne.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;


  1. Konfigurace Service Broker pro asynchronní zpracování

  2. Příklady MONTHNAME() – MySQL

  3. sp_executesql je pomalý s parametry

  4. SQLite - Smazat data