MySQL Příkaz SELECT s příklady

V čem je SELECT dotaz MySQL?

SELECT QUERY se používá k načtení dat z MySQL databáze. Databáze ukládají data pro pozdější načtení. Účelem MySQL Select je vrátit z databázových tabulek jeden nebo více řádků, které odpovídají daným kritériím. Výběrový dotaz lze použít ve skriptovacím jazyce, jako je PHP, Ruby, nebo jej můžete spustit pomocí příkazového řádku.

VYBERTE dotaz v MySQL

Syntaxe příkazu SQL SELECT

Je to nejčastěji používaný SQL příkaz a má následující obecnou syntaxi

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)]  [HAVING condition] ORDER BY fieldName(s)

ZDE

  • SELECT je klíčové slovo SQL, které dává databázi vědět, že chcete načíst data.
  • [ODLIŠNÁ | VŠECHNO] jsou volitelná klíčová slova, která lze použít k doladění výsledků vrácených příkazem SQL SELECT. Pokud není nic zadáno, předpokládá se ALL jako výchozí.
  • {*| [fieldExpression [AS newName]} musí být zadána alespoň jedna část, „*“ vybrala všechna pole ze zadaného názvu tabulky, fieldExpression provádí některé výpočty se zadanými poli, jako je sčítání čísel nebo skládání dvou řetězcových polí do jednoho.
  • Z tableName je povinné a musí obsahovat alespoň jednu tabulku, více tabulek musí být odděleno čárkami nebo spojeno pomocí klíčového slova JOIN.
  • KDE podmínka je volitelná, lze ji použít k zadání kritérií v sadě výsledků vrácené z dotazu.
  • SKUPINA VYTVOŘENÁ se používá k sestavení záznamů, které mají stejné hodnoty polí.
  • HAVING podmínka se používá k určení kritérií při práci s klíčovým slovem GROUP BY.
  • SEŘADIT PODLE se používá k určení pořadí řazení sady výsledků.

*

Symbol hvězdičky se používá k označení všech sloupců v tabulce. Příklad jednoduchého příkazu SELECT vypadá jako níže uvedený.

SELECT * FROM `members`;

Výše uvedený příkaz vybere všechna pole z tabulky členů. Středník je příkaz zakončit. Není to povinné, ale považuje se to za dobrý postup ukončit takto svá prohlášení.

Praktické příklady

Klikněte pro stažení myflix DB použitý pro praktické příklady.

Můžete se naučit importovat soubor .sql do MySQL pracovní stůl

Příklady jsou uvedeny v následujících dvou tabulkách

Tabulka 1: Členové tabulka

členské číslo celá_jména rod datum narození fyzická adresa poštovní_ adresa číslo_kontaktu e-mail
1 Janet Jonesová Žena 21-07-1980 První ulice pozemek č. 4 Soukromá taška 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jonesová Žena 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Muž 12-07-1989 3. ulice 34 NULL 12345 rm@tstreet.com
4 Gloria Williamsová Žena 14-02-1984 2. ulice 23 NULL NULL NULL

Tabulka 2: filmy tabulka

movie_id titul ředitel rok_vydáno category_id
1 Piráti z Karibiku 4 Rob Marshall 2011 1
2 Zapomínání na Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Jméno Černá Edgar Jimz 2010 NULL
5 Tatínkovy holčičky NULL 2007 8
6 andělé a démoni NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooneRS John Schultz 2005 8
16 67% vinen NULL 2012 NULL

Získání seznamu členů

Předpokládejme, že chceme získat seznam všech registrovaných členů knihovny z naší databáze, k tomu bychom použili níže uvedený skript.

SELECT * FROM `members`;

Spuštění výše uvedeného skriptu v MySQL workbench produkuje následující výsledky.

členské číslo celá_jména rod datum narození fyzická adresa poštovní_ adresa číslo_kontaktu e-mail
1 Janet Jonesová Žena 21-07-1980 První ulice pozemek č. 4 Soukromá taška 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jonesová Žena 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Muž 12-07-1989 3. ulice 34 NULL 12345 rm@tstreet.com
4 Gloria Williamsová Žena 14-02-1984 2. ulice 23 NULL NULL NULL

Náš výše uvedený dotaz vrátil všechny řádky a sloupce z tabulky členů.

Řekněme, že nás zajímají pouze pole plná_jména, pohlaví, fyzická_adresa a e-mail. K tomu nám pomůže následující skript.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

Spuštění výše uvedeného skriptu v MySQL workbench produkuje následující výsledky.

celá_jména rod fyzická adresa e-mail
Janet Jonesová Žena První ulice pozemek č. 4 janetjones@yagoo.cm
Janet Smith Jonesová Žena Melrose 123 jj@fstreet.com
Robert Phil Muž 3. ulice 34 rm@tstreet.com
Gloria Williamsová Žena 2. ulice 23 NULL

Získání seznamu filmů

Pamatujte, že v naší diskusi výše jsme zmínili výrazy použité v příkazech SELECT. Řekněme, že chceme získat seznam filmů z naší databáze. Chceme mít název filmu a jméno režiséra v jednom poli. Jméno filmového režiséra by mělo být v závorkách. Chceme také získat rok, kdy byl film propuštěn. K tomu nám pomáhá následující skript.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

ZDE

  • Concat () MySQL používá se funkce spojení hodnot sloupců dohromady.
  • Řádek „Concat (`title`, ' (', `director`, ')') získá název, přidá úvodní závorku následovanou jménem režiséra a poté přidá závorku uzavírající.

Části řetězců jsou ve funkci Concat () odděleny čárkami.

Spuštění výše uvedeného skriptu v MySQL workbench vytvoří následující sadu výsledků.

Concat(`title`, ' (', `director`, ')') rok_vydáno
Piráti z Karibiku 4 (Rob Marshall) 2011
Zapomenutí na Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Code Jméno Black (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Názvy polí aliasů

Výše uvedený příklad vrátil kód Concatenation jako název pole pro naše výsledky. Předpokládejme, že chceme v sadě výsledků použít popisnější název pole. K tomu bychom použili název alias sloupce. Následuje základní syntaxe názvu aliasu sloupce

SELECT `column_name|value|expression` [AS] `alias_name`;

ZDE

  • "SELECT ` název_sloupce|hodnota|výraz `" je běžný příkaz SELECT, kterým může být název sloupce, hodnota nebo výraz.
  • "[TAK JAKO]" je nepovinné klíčové slovo před názvem aliasu, které označuje výraz, hodnotu nebo název pole bude vrácen jako.
  • "`alias_name`" je název aliasu, který chceme vrátit v naší sadě výsledků jako název pole.

Výše uvedený dotaz se smysluplnějším názvem sloupce

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Dostaneme následující výsledek

Concat rok_vydáno
Piráti z Karibiku 4 (Rob Marshall) 2011
Zapomenutí na Sarah Marshal (Nicholas Stoller) 2008
NULL 2008
Code Jméno Black (Edgar Jimz) 2010
NULL 2007
NULL 2007
NULL 2007
Honey mooners (John Schultz) 2005
NULL 2012

Získání seznamu členů s rokem narození

Předpokládejme, že chceme získat seznam všech členů s uvedením členského čísla, celého jména a roku narození. Můžeme k tomu použít funkci LEFT.tracrok narození z pole s datem narození. S tím nám pomůže níže uvedený skript.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

ZDE

  • "LEFT(`datum_narozeni`,4)" ο Funkce LEFT řetězce akceptuje datum narození jako parametr a vrací pouze 4 znaky zleva.
  • "JAKO "rok_narozeni" je název aliasu sloupce které se nám vrátí do výsledků. Všimněte si Klíčové slovo AS je nepovinné, můžete jej vynechat a dotaz bude stále fungovat.

Provedení výše uvedeného dotazu v MySQL workbench proti myflixdb nám poskytuje výsledky uvedené níže.

členské číslo celá_jména rok narození
1 Janet Jonesová 1980
2 Janet Smith Jonesová 1980
3 Robert Phil 1989
4 Gloria Williamsová 1984

pomocí SQL MySQL Workbench

Nyní budeme používat MySQL workbench pro vygenerování skriptu, který zobrazí všechny názvy polí z naší tabulky kategorií.

1. Klepněte pravým tlačítkem myši na tabulku kategorií. Klikněte na „Vybrat řádky – limit 1000“

2. MySQL workbench automaticky vytvoří SQL dotaz a vloží jej do editoru.

3. Zobrazí se výsledky dotazu

pomocí SQL MySQL Workbench

Všimněte si, že příkaz SELECT jsme nenapsali sami. MySQL vygeneroval nám to workbench.

Proč používat příkaz SELECT SQL, když máme MySQL Pracovní stůl?

Možná si teď říkáte, proč se učit příkaz SQL SELECT dotazovat data z databáze, když můžete jednoduše použít nástroj, jako je např. MySQL workbench k získání stejných výsledků bez znalosti jazyka SQL. To je samozřejmě možné, ale naučit se používat příkaz SELECT vám dává víc flexibilita a řízení nad tvým SQL příkazy SELECT.

MySQL pracovní stůl spadá do kategorie „Dotaz podle příkladu“Nástroje QBE. Je určen k rychlejšímu generování příkazů SQL pro zvýšení produktivity uživatelů.

Naučit se příkaz SQL SELECT vám umožní vytvářet složité dotazy které nelze snadno vygenerovat pomocí nástrojů Query by Example, jako je např MySQL pracovní stůl.

Chcete-li zvýšit produktivitu, můžete vygenerujte kód pomocí MySQL ponk pak přizpůsobit to, aby splnit vaše požadavky. To se může stát pouze tehdy, pokud rozumíte tomu, jak příkazy SQL fungují!

MySQL Příkaz SELECT s příklady

Shrnutí

  • Klíčové slovo SQL SELECT se používá k dotazování na data z databáze a je to nejčastěji používaný příkaz.
  • Nejjednodušší forma má syntaxi „SELECT * FROM název_tabulky;“
  • Výrazy lze také použít v příkazu select. Příklad „VYBRAT množství + cena Z Prodeje“
  • Příkaz SQL SELECT může mít také další volitelné parametry, jako je WHERE, GROUP BY, HAVING, ORDER BY. Budou projednány později.
  • MySQL workbench může pomoci vyvinout příkazy SQL, provést je a vytvořit výstupní výsledek ve stejném okně.

Shrňte tento příspěvek takto: