30 Příklady SQL dotazů

30 Priklady Sql Dotazu



Plná forma SQL je jazyk Structured Query. Je to velmi užitečný nástroj pro přístup nebo úpravu struktury a dat databáze. Mnoho aplikací potřebuje databázi k trvalému uložení potřebných dat do databáze ve strukturovaném formátu. MySQL, Oracle, SQL Server atd. jsou oblíbené databáze pro ukládání dat aplikace. Jsou nezbytné k tomu, aby se naučili základy SQL pro přístup k obsahu databáze nebo jej upravovali. Základní použití příkazů SQL v databázi MariaDB je uvedeno v tomto tutoriálu pomocí 30 příkladů dotazů SQL.

Předpoklady

Před procvičováním příkladů v tomto kurzu musíte nainstalovat databázový server s klientem. V tomto kurzu se používá databázový server a klient MariaDB.

1. Spusťte následující příkazy pro aktualizaci systému:







$ sudo apt-get aktualizace

2. Spusťte následující příkaz pro instalaci serveru a klienta MariaDB:



$ sudo apt-get nainstalovat mariadb-server mariadb-client

3. Spuštěním následujícího příkazu nainstalujte bezpečnostní skript pro databázi MariaDB:



$ sudo mysql_secure_installation

4. Spuštěním následujícího příkazu restartujte server MariaDB:





$ sudo /etc/init.d/mariadb restart

6. Spusťte následující příkaz pro přihlášení k serveru MariaDB:

$ sudo mariadb -u root -p

Seznam příkladů SQL dotazů



  1. Vytvořte databázi
  2. Vytvořte tabulky
  3. Přejmenujte název tabulky
  4. Přidejte do tabulky nový sloupec
  5. Odstraňte sloupec z tabulky
  6. Vložte jeden řádek do tabulky
  7. Vložte do tabulky více řádků
  8. Přečtěte si všechna konkrétní pole z tabulky
  9. Přečtěte si tabulku po filtrování dat z tabulky
  10. Přečtěte si tabulku po filtrování dat na základě booleovské logiky
  11. Přečtěte si tabulku po filtrování řádků na základě rozsahu dat
  12. Přečtěte si tabulku po seřazení tabulky na základě konkrétních sloupců.
  13. Přečtěte si tabulku nastavením alternativního názvu sloupce
  14. Spočítejte celkový počet řádků v tabulce
  15. Přečtěte si data z více tabulek
  16. Přečtěte si tabulku seskupením konkrétních polí
  17. Po vynechání duplicitních hodnot si přečtěte tabulku
  18. Přečtěte si tabulku omezením počtu řádků
  19. Přečtěte si tabulku na základě částečné shody
  20. Spočítejte součet konkrétního pole tabulky
  21. Najděte maximální a minimální hodnoty konkrétního pole
  22. Přečtěte si data o konkrétní části pole
  23. Přečtěte si data tabulky po zřetězení
  24. Přečtěte si data tabulky po matematickém výpočtu
  25. Vytvořte pohled na tabulku
  26. Aktualizujte tabulku na základě konkrétní podmínky
  27. Odstraňte data tabulky na základě konkrétní podmínky
  28. Odstraňte všechny záznamy z tabulky
  29. Pusťte stůl
  30. Zrušte databázi

Vytvořte databázi

Předpokládejme, že musíme navrhnout jednoduchou databázi pro systém správy knihoven. K provedení tohoto úkolu je třeba na serveru vytvořit databázi, která obsahuje více relačních tabulek. Po přihlášení k databázovému serveru spusťte následující příkaz k vytvoření databáze s názvem „library“ na databázovém serveru MariaDB:

VYTVOŘIT DATABÁZE knihovna;

Výstup ukazuje, že databáze knihovny je vytvořena na serveru:

Spuštěním následujícího příkazu vyberte databázi ze serveru, abyste mohli provádět různé typy databázových operací:

POUŽITÍ knihovna;

Výstup ukazuje, že je vybrána databáze knihovny:

Vytvořte tabulky

Dalším krokem je vytvoření potřebných tabulek pro databázi pro uložení dat. V této části tutoriálu jsou vytvořeny tři tabulky. Jedná se o tabulky knih, členů a výpůjčních_informací.

  1. V tabulce knih jsou uložena všechna data související s knihami.
  2. V tabulce členů jsou uloženy všechny informace o členech, kteří si půjčují knihu z knihovny.
  3. Tabulka vypůjčit_info ukládá informace o tom, která kniha je vypůjčena kterým členem.

1. Knihy Stůl

Spuštěním následujícího příkazu SQL vytvořte tabulku s názvem „knihy“ v databázi „knihovny“, která obsahuje sedm polí a jeden primární klíč. Zde je pole „id“ primárním klíčem a datovým typem je int. Atribut auto_increment se používá pro pole „id“. Hodnota tohoto pole se tedy automaticky zvýší při vložení nového řádku. Datový typ varchar se používá k ukládání dat řetězce proměnné délky. Pole název, autor, publikace a isbn ukládají data řetězce. Datový typ polí total_copy a price jsou int. Tato pole tedy ukládají číselná data.

VYTVOŘIT STŮL knihy (
id INT AUTO_INCREMENT ,
titul VARCHAR ( padesáti ) ,
autor VARCHAR ( padesáti ) ,
vydání VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
cena INT ,
HLAVNÍ KLÍČ ( id ) ) ;

Výstup ukazuje, že tabulka „knihy“ byla úspěšně vytvořena:

2. Členové Stůl

Spuštěním následujícího příkazu SQL vytvořte tabulku s názvem „členové“ v databázi „knihovny“, která obsahuje 5 polí a jeden primární klíč. Pole „id“ má atribut auto_increment jako tabulka „knihy“. Datový typ ostatních polí je varchar. Tato pole tedy ukládají data řetězce.

VYTVOŘIT STŮL členů (
id INT AUTO_INCREMENT ,
název VARCHAR ( padesáti ) ,
adresa VARCHAR ( 200 ) ,
Kontaktní číslo VARCHAR ( patnáct ) ,
e-mailem VARCHAR ( padesáti ) ,
HLAVNÍ KLÍČ ( id ) ) ;

Výstup ukazuje, že tabulka „členové“ byla úspěšně vytvořena:

3. Vypůjčit_info Stůl

Spuštěním následujícího příkazu SQL vytvořte tabulku s názvem „borrow_info“ v databázi „library“, která obsahuje 6 polí. Zde je pole „id“ primárním klíčem, ale atribut auto_increment se pro toto pole nepoužívá. Při vložení nového záznamu do tabulky se tedy do tohoto pole ručně vloží jedinečná hodnota. Pole book_id a member_id jsou cizí klíče pro tuto tabulku; to jsou primární klíče tabulek „knihy“ a tabulky „členové“. Datový typ polí datum_půjčky a datum_návratu je datum. Tato dvě pole tedy ukládají hodnotu data ve formátu „RRRR-MM-DD“.

VYTVOŘIT STŮL info_půjčky (
id INT ,
datum_půjčky DATUM ,
id_knihy INT ,
Členské ID INT ,
datum návratu DATUM ,
POSTAVENÍ VARCHAR ( 10 ) ,
HLAVNÍ KLÍČ ( id ) ,
ZAHRANIČNÍ, CIZÍ KLÍČ ( id_knihy ) REFERENCE knihy ( id ) ,
ZAHRANIČNÍ, CIZÍ KLÍČ ( Členské ID ) REFERENCE členů ( id ) ) ;

Výstup ukazuje, že tabulka „borrow_info“ byla úspěšně vytvořena:

Přejmenujte název tabulky

Příkaz ALTER TABLE lze v příkazech SQL použít k více účelům. Spuštěním následujícího příkazu ALTER TABLE změňte název tabulky „borrow_info“ na „book_borrow_info“. Dále lze příkaz SHOW tables použít ke kontrole, zda byl název tabulky změněn nebo ne.

ZMĚNIT STŮL info_půjčky PŘEJMENOVAT NA info_půjčky o knize;
UKÁZAT TABULKY ;

Výstup ukazuje, že název tabulky byl úspěšně změněn a název tabulky loan_info byl změněn na book_borrow_info:

Přidejte do tabulky nový sloupec

Příkaz ALTER TABLE lze použít k přidání nebo odstranění jednoho nebo více sloupců po vytvoření tabulky. Následující příkaz ALTER TABLE přidá ke členům tabulky nové pole s názvem „stav“. Příkaz DESCRIBE se používá k zobrazení, zda byla struktura tabulky změněna či nikoli.

ZMĚNIT STŮL členů PŘIDAT POSTAVENÍ VARCHAR ( 10 ) ;
POPSAT členové;

Výstup ukazuje, že do tabulky „členové“ je přidán nový sloupec, který je „stav“, a datový typ tabulky je varchar:

Odstraňte sloupec z tabulky

Následující příkaz ALTER TABLE odstraní pole s názvem „stav“ z tabulky „členové“. Příkaz DESCRIBE se používá k zobrazení, zda byla struktura tabulky změněna či nikoli.

ZMĚNIT STŮL členů POKLES SLOUPEC POSTAVENÍ ;
POPSAT členové;

Výstup ukazuje, že sloupec „stav“ je odstraněn z tabulky „členové“:

Vložte jeden řádek do tabulky

Příkaz INSERT INTO se používá k vložení jednoho nebo více řádků do tabulky. Spuštěním následujícího příkazu SQL vložte jeden řádek do tabulky „knihy“. Zde je pole „id“ v tomto dotazu vynecháno, protože je vloženo automaticky do záznamu při vložení nového záznamu pro atribut auto-increment. Pokud je toto pole použito v příkazu INSERT, musí být hodnota NULL.

VLOŽIT DO knihy ( titul , autor , vydání , isbn , total_copy , cena )
HODNOTY ( 'SQL za 10 minut' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

Výstup ukazuje, že záznam byl úspěšně přidán do tabulky „knihy“:

Data lze do tabulky vkládat pomocí klauzule SET, kde je každá hodnota pole přiřazena samostatně. Spuštěním následujícího příkazu SQL vložte jeden řádek do tabulky „členové“ pomocí klauzulí INSERT INTO a SET. Pole „id“ je v tomto dotazu také vynecháno jako v předchozím příkladu ze stejného důvodu.

VLOŽIT DO členů
SOUBOR název = 'John Sina' , adresa = '34, Dhanmondi 9/A, Dháka' , Kontaktní číslo = '+14844731336' , e-mailem = 'john@gmail.com' ;

Výstup ukazuje, že záznam byl úspěšně přidán do tabulky členů:

Spusťte následující příkaz SQL a vložte jeden řádek do tabulky „book_borrow_info“:

VLOŽIT DO info_půjčky_knihy ( id , datum_půjčky , id_knihy , Členské ID , datum návratu , POSTAVENÍ )
HODNOTY ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'Půjčeno' ) ;

Výstup ukazuje, že záznam je přidán do tabulky „book_borrow_info“:

Vložte do tabulky více řádků

Někdy to vyžaduje přidání mnoha záznamů najednou pomocí jediného příkazu INSERT INTO. Spuštěním následujícího příkazu SQL vložte tři záznamy do tabulky „knihy“ pomocí jediného příkazu INSERT INTO. V tomto případě je klauzule VALUES použita jednou a data každého záznamu jsou oddělena čárkou.

VLOŽIT DO knihy ( titul , autor , vydání , isbn , total_copy , cena )
HODNOTY
( 'SQL Cookbook (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL dotazy pro pouhé smrtelníky' , 'John Viescas' , 'Addison-Wesley' , '673456234' , patnáct , 35 ) ,
( 'Učíme se SQL' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Čtyři pět ) ;

Výstup ukazuje, že do tabulky „knihy“ jsou přidány tři záznamy:

Přečtěte si všechna konkrétní pole z tabulky

Příkaz SELECT se používá ke čtení dat z tabulky „databáze“. Symbol „*“ se používá k označení všech polí tabulky v příkazu SELECT. Spusťte následující příkaz SQL a přečtěte si všechny záznamy tabulky knih:

VYBRAT * Z knihy;

Výstup zobrazuje všechny záznamy tabulky knih, která obsahuje 4 záznamy:

Spusťte následující příkaz SQL a přečtěte si všechny záznamy tří polí tabulky „členové“:

VYBRAT název , e-mailem , Kontaktní číslo Z členové;

Výstup zobrazuje všechny záznamy tří polí tabulky „členové“:

Přečtěte si tabulku po filtrování dat z tabulky

Klauzule WHERE se používá ke čtení dat z tabulky na základě jedné nebo více podmínek. Spusťte následující příkaz SELECT a přečtěte si všechny záznamy všech polí tabulky „knihy“, kde je jméno autora „John Viescas“.

VYBRAT * Z knihy KDE autor = 'John Viescas' ;

Tabulka „knihy“ obsahuje jeden záznam, který odpovídá podmínce klauzule WHERE, která je zobrazena ve výstupu:

Přečtěte si tabulku po filtrování dat na základě booleovské logiky

Logická logika AND se používá k definování více podmínek v klauzuli WHERE, která vrátí hodnotu true, pokud všechny podmínky vrátí hodnotu true. Spusťte následující příkaz SELECT a načtěte všechny záznamy všech polí tabulky „knihy“, kde hodnota pole total_copy je větší než 10 a hodnota pole ceny je menší než 45 pomocí logického AND.

VYBRAT * Z knihy KDE total_copy > 10 A cena < Čtyři pět ;

Tabulka knih obsahuje jeden záznam, který odpovídá podmínce klauzule WHERE, která je zobrazena ve výstupu:

Logická logika OR se používá k definování více podmínek v klauzuli WHERE, která vrátí hodnotu true, pokud některá z podmínek vrátí hodnotu true. Spuštěním následujícího příkazu SELECT načtete všechny záznamy všech polí tabulky „knihy“, kde hodnota pole total_copy je větší než 10 nebo hodnota pole ceny je větší než 40.

VYBRAT * Z knihy KDE total_copy > 10 NEBO cena > 40 ;

Tabulka knih obsahuje tři záznamy, které odpovídají podmínce klauzule WHERE, která je zobrazena ve výstupu:

Logická logika NOT se používá k vrácení false, když je podmínka pravdivá, a vrací true, když je podmínka nepravdivá. Spusťte následující příkaz SELECT a přečtěte si všechny záznamy všech polí tabulky „knihy“, kde hodnota pole autora není „Addison-Wesley“.

VYBRAT * Z knihy KDE NE autor = 'Addison-Wesley' ;

Tabulka „knihy“ obsahuje tři záznamy, které odpovídají podmínce klauzule WHERE, která je zobrazena ve výstupu:

Přečtěte si tabulku po filtrování řádků na základě rozsahu dat

Klauzule BETWEEN se používá ke čtení rozsahu dat z databázové tabulky. Spusťte následující příkaz SELECT a přečtěte si všechny záznamy všech polí tabulky „knihy“, kde je hodnota pole ceny mezi 40 a 50.

VYBRAT * Z knihy KDE cena MEZI 40 A padesáti ;

Tabulka knih obsahuje dva záznamy, které odpovídají podmínce klauzule WHERE, která je zobrazena ve výstupu. Knihy cenových hodnot 39 a 35 jsou ze sady výsledků vynechány, protože jsou mimo rozsah.

Přečtěte si tabulku po seřazení tabulky

Klauzule ORDER BY se používá k řazení sady výsledků příkazu SELECT ve vzestupném nebo sestupném pořadí. Pokud je použita klauzule ORDER BY bez ASC nebo DESC, je sada výsledků standardně seřazena vzestupně. Následující příkaz SELECT čte setříděné záznamy z tabulky knih na základě pole názvu:

VYBRAT * Z knihy OBJEDNAT PODLE titul;

Údaje pole názvu tabulky „knihy“ jsou ve výstupu seřazeny vzestupně. Kniha „Učící se SQL“ je na prvním místě podle abecedy, pokud je pole názvu tabulky „knihy“ seřazeny vzestupně.

Přečtěte si tabulku nastavením alternativního názvu sloupce

Alternativní název sloupce se používá v dotazu, aby byla sada výsledků čitelnější. Alternativní název se nastavuje pomocí klíčového slova „AS“. Následující příkaz SQL vrací hodnoty polí title a author nastavením alternativních názvů.

VYBRAT titul TAK JAKO 'Název knihy'. , autor TAK JAKO 'Jméno autora'.
Z knihy;

Pole názvu se zobrazí s alternativním názvem, který je „Název knihy“ a pole autora se zobrazí s alternativním názvem, který je ve výstupu „Jméno autora“.

Spočítejte celkový počet řádků v tabulce

COUNT() je agregační funkce SQL, která se používá k počítání celkového počtu řádků na základě konkrétního pole nebo všech polí. Symbol “*” se používá k označení všech polí a COUNT(*) se používá k počítání všech záznamů v tabulce.

Následující dotaz počítá celkové záznamy tabulky knih:

VYBRAT POČET ( * ) TAK JAKO 'Knihy celkem'. Z knihy;

Ve výstupu jsou zobrazeny čtyři záznamy v tabulce „knihy“:

Následující dotaz počítá celkový počet řádků tabulky „členové“ na základě pole „id“:

VYBRAT POČET ( id ) TAK JAKO 'Celkový počet členů'. Z členové;

Tabulka „členové“ má dvě hodnoty id, které jsou vytištěny ve výstupu:

Přečtěte si data z více tabulek

Předchozí příkazy SELECT načítaly data z jediné tabulky. Ale příkaz SELECT lze použít k načtení dat ze dvou nebo více tabulek. Následující dotaz SELECT přečte hodnoty polí názvu a autora z tabulky „knihy“ a datum_výpůjčky z tabulky „informace o_knihách“.

VYBRAT titul , autor , datum_půjčky
Z knihy , info_půjčky_knihy
KDE knihy . id = info_půjčky_knihy . id_knihy;

Následující výstup ukazuje, že kniha „SQL za 10 minut“ byla vypůjčena dvakrát a kniha „Kuchařská kniha SQL (O’Reilly)“ byla vypůjčena jednou:

Data lze načíst z více tabulek pomocí různých typů JOINS, jako je INNER JOIN, OUTER JOIN atd., které nejsou vysvětleny v tomto tutoriálu.

Přečtěte si tabulku seskupením konkrétních polí

Klauzule GROUP BY se používá ke čtení záznamů z tabulky seskupením řádků na základě jednoho nebo více polí. Tento typ dotazu se nazývá souhrnný dotaz. Chcete-li zkontrolovat použití klauzule GROUP BY, musíte do tabulek vložit více řádků. Spuštěním následujících příkazů INSERT vložte jeden záznam do tabulky „členové“ a dva záznamy do tabulky „book_borrow_info“.

VLOŽIT DO členů
SOUBOR název = 'Ona Hasan' , adresa = '11/A, Jigatola, Dháka' , Kontaktní číslo = '+8801734563423' , e-mailem = 'ona@gmail.com' ;
VLOŽIT DO info_půjčky_knihy ( id , datum_půjčky , id_knihy , Členské ID , datum návratu , POSTAVENÍ )
HODNOTY ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Vrátil' ) ;
VLOŽIT DO info_půjčky_knihy ( id , datum_půjčky , id_knihy , Členské ID , datum návratu , POSTAVENÍ )
HODNOTY ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'Půjčeno' ) ;

Po vložení dat provedením předchozích dotazů spusťte následující příkaz SELECT, který spočítá celkový počet vypůjčených knih a jméno člena na základě každého člena pomocí klauzule GROUP BY. Zde funkce COUNT() funguje na poli, které se používá k přeskupení záznamů pomocí klauzule GROUP BY. Pro seskupování zde slouží pole book_id tabulky „členové“.

VYBRAT POČET ( id_knihy ) TAK JAKO 'Celkem vypůjčená kniha'. , název TAK JAKO 'Jméno člena'. Z knihy , členů , info_půjčky_knihy KDE knihy . id = info_půjčky_knihy . id_knihy A členů . id = info_půjčky_knihy . Členské ID SKUPINA PODLE info_půjčky_knihy . Členské ID;

Podle údajů v tabulkách „členové“ a „informace o_knihách“ si „John Sina“ vypůjčil 2 knihy a „Ella Hasan“ 1 knihu.

Po vynechání duplicitních hodnot si přečtěte tabulku

Někdy jsou duplicitní data generována ve výsledné sadě příkazu SELECT na základě dat tabulky, která nejsou nutná. Například následující příkaz SELECT vrátí duplicitní záznamy pro data tabulky „book_borrow_info“.

VYBRAT název , e-mailem
Z členů , info_půjčky_knihy
KDE info_půjčky_knihy . Členské ID = členů . id;

Ve výstupu se stejný záznam objevuje dvakrát, protože člen „John Sina“ si vypůjčil dvě knihy. Tento problém lze vyřešit pomocí klíčového slova DISTINCT. Odstraní duplicitní záznamy z výsledku dotazu.

Následující příkaz SELECT generuje jedinečné záznamy sady výsledků z tabulek „members“ a „book_borrow_info“ po vynechání duplicitních hodnot pomocí klíčového slova DISTINCT v dotazu.

VYBRAT ODLIŠNÝ název , e-mailem
Z členů , info_půjčky_knihy
KDE info_půjčky_knihy . Členské ID = členů . id;

Výstup ukazuje, že duplicitní hodnota je odstraněna ze sady výsledků:

Přečtěte si tabulku omezením počtu řádků

Někdy to vyžaduje načtení určitého počtu záznamů od začátku sady výsledků, konce sady výsledků nebo středu sady výsledků z databázové tabulky omezením počtu řádků. Dá se to udělat mnoha způsoby. Před omezením řádků spusťte následující příkaz SQL a zkontrolujte, kolik záznamů existuje v tabulce knih:

VYBRAT * Z knihy;

Výstup ukazuje, že tabulka knih má čtyři záznamy:

Následující příkaz SELECT přečte první dva záznamy z tabulky „books“ pomocí klauzule LIMIT s hodnotou 2:

VYBRAT * Z knihy OMEZIT 2 ;

Jsou načteny první dva záznamy tabulky „knihy“, což je zobrazeno ve výstupu:

Klauzule FETCH je alternativou klauzule LIMIT a její použití je znázorněno v následujícím příkazu SELECT. První 3 záznamy tabulky „knihy“ jsou načteny pomocí klauzule FETCH FIRST 3 ROWS ONLY v příkazu SELECT:

VYBRAT * Z knihy NAČÍST PRVNÍ 3 ŘÁDKY POUZE ;

Výstup zobrazuje první 3 záznamy tabulky „knihy“:

Dva záznamy ze 3 rd řádek tabulky knih jsou načteny provedením následujícího příkazu SELECT. Klauzule LIMIT se zde používá s hodnotou 2, 2, kde první 2 definuje počáteční pozici řádku tabulky, který začíná počítat od 0, a druhá 2 definuje počet řádků, které se začínají počítat od počáteční pozice.

VYBRAT * Z knihy OMEZIT 2 , 2 ;

Po provedení předchozího dotazu se zobrazí následující výstup:

Záznamy z konce tabulky lze číst seřazením tabulky v sestupném pořadí na základě automaticky zvýšené hodnoty primárního klíče a pomocí klauzule LIMIT. Spusťte následující příkaz SELECT, který přečte poslední 2 záznamy z tabulky „knihy“. Zde je sada výsledků seřazena v sestupném pořadí podle pole „id“.

VYBRAT * Z knihy OBJEDNAT PODLE id DESC OMEZIT 2 ;

Poslední dva záznamy tabulky knih jsou zobrazeny v následujícím výstupu:

Přečtěte si tabulku na základě částečné shody

Klauzule LIKE se používá se symbolem „%“ k načtení záznamů z tabulky částečným párováním. Následující příkaz SELECT vyhledává záznamy z tabulky „knihy“, kde pole autora obsahuje na začátku hodnoty „Jan“ pomocí klauzule LIKE. Zde se na konci vyhledávacího řetězce používá symbol „%“.

VYBRAT * Z knihy KDE autor JAKO 'John%' ;

V tabulce „knihy“ existuje pouze jeden záznam, který obsahuje řetězec „Jan“ na začátku hodnoty pole autora.

Následující příkaz SELECT vyhledává záznamy z tabulky „books“, kde pole publikace obsahuje na konci hodnoty „Ltd“ pomocí klauzule LIKE. Zde se na začátku vyhledávacího řetězce používá symbol „%“:

VYBRAT * Z knihy KDE vydání JAKO '%Ltd' ;

V tabulce „books“ existuje pouze jeden záznam, který obsahuje řetězec „Ltd“ na konci pole publikace.

Následující příkaz SELECT vyhledává záznamy z tabulky „knihy“, kde pole názvu obsahuje „Dotazy“ kdekoli z hodnoty pomocí klauzule LIKE. Zde se na obou stranách vyhledávacího řetězce používá symbol „%“:

VYBRAT * Z knihy KDE titul JAKO '%Queries%' ;

V tabulce „books“ existuje pouze jeden záznam, který obsahuje řetězec „Queries“ v poli názvu.

Spočítejte součet konkrétního pole tabulky

SUM() je další užitečná agregační funkce SQL, která vypočítává součet hodnot libovolného číselného pole tabulky. Tato funkce přebírá jeden argument, který musí být číselný. Následující příkaz SQL vypočítá součet všech hodnot cenového pole tabulky „knihy“, která obsahuje celočíselné hodnoty.

VYBRAT SOUČET ( cena ) TAK JAKO 'Celková cena knihy'.
Z knihy;

Výstup zobrazuje součtovou hodnotu všech hodnot cenového pole tabulky „knihy“. Čtyři hodnoty pole ceny jsou 39, 49, 35 a 45. Součet těchto hodnot je 168.

Najděte maximální a minimální hodnoty konkrétního pole

Agregační funkce MIN() a MAX() slouží ke zjištění minimální a maximální hodnoty daného pole tabulky. Obě funkce mají jeden argument, který musí být číselný. Následující SQL příkaz zjistí minimální hodnotu ceny z tabulky „knihy“, která je celé číslo.

VYBRAT MIN ( cena ) TAK JAKO 'Kniha minimálních nákladů'. Z knihy;

Třicet pět (35) je minimální hodnota pole ceny, která je vytištěna na výstupu.

Následující příkaz SQL zjistí maximální hodnotu ceny z tabulky „knihy“:

VYBRAT MAX ( cena ) TAK JAKO 'Kniha maximálních nákladů'. Z knihy;

Čtyřicet devět (49) je maximální hodnota pole ceny, která je vytištěna na výstupu.

Přečtěte si konkrétní část dat nebo pole

Funkce SUBSTR() se používá v příkazu SQL k načtení konkrétní části dat řetězce nebo hodnoty konkrétního pole tabulky. Tato funkce obsahuje tři argumenty. První argument obsahuje hodnotu řetězce nebo hodnotu pole tabulky, která je řetězcem. Druhý argument obsahuje počáteční pozici podřetězce, který je načten z prvního argumentu a počítání této hodnoty začíná od 1. Třetí argument obsahuje délku podřetězce, který začíná počítat od počáteční pozice.

Následující příkaz SELECT vyjme a vytiskne prvních pět znaků z řetězce „Learn SQL Basics“, kde počáteční pozice je 1 a délka je 5:

VYBRAT SUBSTR ( 'Naučte se základy SQL' , 1 , 5 ) TAK JAKO 'Hodnota podřetězce'. ;

Prvních pět znaků řetězce „Learn SQL Basics“ je „Learn“, které je vytištěno ve výstupu.

Následující příkaz SELECT vyjme a vytiskne SQL z řetězce „Learn SQL Basics“, kde počáteční pozice je 7 a délka je 3:

VYBRAT SUBSTR ( 'Naučte se základy SQL' , 7 , 3 ) TAK JAKO 'Hodnota podřetězce'. ;

Po provedení předchozího dotazu se zobrazí následující výstup:

Následující příkaz SELECT vyjme a vytiskne prvních pět znaků z pole názvu tabulky „členové“:

VYBRAT SUBSTR ( název , 1 , 5 ) TAK JAKO 'Jméno člena'. Z členové;

Výstup zobrazuje prvních pět znaků každé hodnoty pole názvu tabulky „členové“.

Přečtěte si data tabulky po zřetězení

Funkce CONCAT() se používá ke generování výstupu kombinací jednoho nebo více polí tabulky nebo přidáním řetězcových dat nebo hodnoty konkrétního pole tabulky. Následující příkaz SQL přečte hodnoty polí title, author a price z tabulky „books“ a ke každé hodnotě pole price je přidána hodnota řetězce „$“ pomocí funkce CONCAT().

VYBRAT titul TAK JAKO Titul , autor TAK JAKO Autor , CONCAT ( '$' , cena ) TAK JAKO Cena
Z knihy;

Hodnoty pole ceny jsou vytištěny ve výstupu zřetězením s řetězcem „$“.

Spuštěním následujícího příkazu SQL zkombinujte hodnoty polí názvu a autora tabulky „books“ s hodnotou řetězce „by“ pomocí funkce CONCAT():

VYBRAT CONCAT ( titul , ' od ' , autor ) TAK JAKO `Název knihy s autorem`
Z knihy;

Po provedení předchozího dotazu SELECT se zobrazí následující výstup:

Přečtěte si data tabulky po matematickém výpočtu

Jakýkoli matematický výpočet lze provést v okamžiku načítání hodnot tabulky pomocí příkazu SELECT. Spusťte následující příkaz SQL a přečtěte si id, název, cenu a zlevněnou cenu po výpočtu 5% slevy.

VYBRAT id , titul , cena TAK JAKO 'Běžná cena'. , cena - ( cena * 5 / 100 ) TAK JAKO 'Slevová cena'.
Z knihy;

Následující výstup zobrazuje běžnou cenu a diskontní cenu každé knihy:

Vytvořte pohled na tabulku

VIEW se používá ke zjednodušení dotazu a poskytuje další zabezpečení databáze. Funguje jako virtuální tabulka, která je generována z jedné nebo více tabulek. Způsob vytvoření a provedení jednoduchého VIEW založeného na tabulce „členové“ je znázorněn v následujícím příkladu. VIEW se provádí pomocí příkazu SELECT. Následující příkaz SQL vytvoří ZOBRAZENÍ tabulky „členové“ s poli id, name, address a contact_no. Příkaz SELECT provede member_view.

VYTVOŘIT POHLED member_view TAK JAKO
VYBRAT id , název , adresa , Kontaktní číslo
Z členové;

VYBRAT * Z member_view;

Po vytvoření a spuštění pohledu se zobrazí následující výstup:

Aktualizujte tabulku na základě konkrétní podmínky

Příkaz UPDATE slouží k aktualizaci obsahu tabulky. Pokud je jakýkoli dotaz UPDATE proveden bez klauzule WHERE, aktualizují se všechna pole použitá v dotazu UPDATE. Je tedy nutné použít příkaz UPDATE se správnou klauzulí WHERE. Spuštěním následujícího příkazu UPDATE aktualizujte pole name a contact_no, kde hodnota pole id je 1. Dále spusťte příkaz SELECT a zkontrolujte, zda jsou data aktualizována správně či nikoli.

AKTUALIZACE členů
SOUBOR název = 'Janifer' , Kontaktní číslo = '+880175621223'
KDE id = 1 ;

VYBRAT * Z členové;

Následující výstup ukazuje, že příkaz UPDATE byl úspěšně proveden. Hodnota pole jména se změní na „Janifer“ a pole contact_no se změní na „+880175621223“ záznamu, který obsahuje hodnotu id 1 pomocí dotazu UPDATE:

Odstraňte data tabulky na základě konkrétní podmínky

Příkaz DELETE se používá k odstranění konkrétního obsahu nebo celého obsahu tabulky. Pokud je proveden jakýkoli dotaz DELETE bez klauzule WHERE, všechna pole se odstraní. Je tedy nutné použít příkaz UPDATE se správnou klauzulí WHERE. Spuštěním následujícího příkazu DELETE odstraníte všechna data z tabulky knih, kde má hodnota id hodnotu 4. Dále spusťte příkaz SELECT a zkontrolujte, zda jsou data odstraněna správně či nikoli.

VYMAZAT Z knihy KDE id = 4 ;
VYBRAT * Z knihy;

Následující výstup ukazuje, že příkaz DELETE byl úspěšně proveden. 4 čt záznam tabulky knih je odstraněn pomocí dotazu DELETE:

Odstraňte všechny záznamy z tabulky

Spuštěním následujícího příkazu DELETE odstraňte všechny záznamy z tabulky „knihy“, kde je vynechána klauzule WHERE. Dále spusťte dotaz SELECT a zkontrolujte obsah tabulky.

VYMAZAT Z info_půjčky o knize;
VYBRAT * Z info_půjčky o knize;

Následující výstup ukazuje, že tabulka „knihy“ je po provedení dotazu DELETE prázdná:

Pokud některá tabulka obsahuje atribut automatického přírůstku a všechny záznamy jsou z tabulky odstraněny, pole automatického přírůstku začne počítat od posledního přírůstku, když je vložen nový záznam po vyprázdnění tabulky. Tento problém lze vyřešit pomocí příkazu TRUNCATE. Používá se také k odstranění všech záznamů z tabulky, ale pole automatického přírůstku začne počítat od 1 po odstranění všech záznamů z tabulky. SQL příkazu TRUNCATE je zobrazen následovně:

ZKRÁTIT info_půjčky o knize;

Pusťte stůl

Jedna nebo více tabulek může být zrušeno kontrolou nebo bez kontroly, zda tabulka existuje nebo ne. Následující příkazy DROP odstraní tabulku „book_borrow_info“ a příkaz „SHOW tables“ zkontroluje, zda tabulka na serveru existuje či nikoli.

POKLES STŮL info_půjčky o knize;
UKÁZAT TABULKY ;

Výstup ukazuje, že tabulka „book_borrow_info“ je zrušena.

Tabulka může být zrušena po kontrole, zda na serveru existuje nebo ne. Spuštěním následujícího příkazu DROP odstraňte tabulku knih a členů, pokud tyto tabulky na serveru existují. Dále příkaz „SHOW tables“ zkontroluje, zda tabulky na serveru existují či nikoli.

POKLES STŮL LI EXISTUJE knihy , členové;
UKÁZAT TABULKY ;

Následující výstup ukazuje, že tabulky jsou odstraněny ze serveru:

Zrušte databázi

Spuštěním následujícího příkazu SQL odstraňte databázi „knihovny“ ze serveru:

POKLES DATABÁZE knihovna;

Výstup ukazuje, že databáze je zrušena.

Závěr

Nejčastěji používané příklady SQL dotazů k vytvoření, přístupu, úpravě a odstranění databáze serveru MariaDB jsou uvedeny v tomto tutoriálu vytvořením databáze a tří tabulek. Použití různých příkazů SQL je vysvětleno na velmi jednoduchých příkladech, které pomohou novému uživateli databáze správně se naučit základy SQL. Zde jsou vynechány použití složitých dotazů. Uživatelé nové databáze budou moci začít pracovat s jakoukoli databází po správném přečtení tohoto návodu.