V tomto podváděcím listu SQL Query se naučíte
Vytvořte příkazy databáze a tabulky
Příkaz | Popis |
VYTVOŘIT DATABÁZE DATABÁZE; | Vytvořit databázi |
VYTVOŘIT DATABÁZE NEEXISTUJE databáze1; | IF NOT EXISTS vám umožní dát pokyn serveru MySQL, aby před vytvořením databáze zkontroloval existenci databáze s podobným názvem. |
VYTVOŘIT DATABÁZE, NEŽ EXISTUJE databáze1 SADA ZNAKŮ latin1 COLLATE latin1_swedish_ci | znaková sada Latin1 používá řazení latin1_swedish_ci, což je švédské pořadí bez rozlišení písmen. |
ZOBRAZIT DATABÁZY | Seznam existujících databází můžete zobrazit spuštěním následujícího příkazu SQL. |
CREATE TABLE [IF NOT EXISTS] TableName (název pole dataType [volitelné parametry]) ENGINE = storage Engine; | Vytvořte syntaxi tabulky |
TYPY DAT
Číselné datové typy
Příkaz | Popis |
TINYINT () | -128 až 127 běžných 0 až 255 NEPŘIHLÁŠENO. |
SMALLINT () | -32768 až 32767 normální 0 až 65535 NEPŘIHLÁŠENO. |
MEDIUMINT () | -8388608 až 8388607 normální 0 až 16777215 BEZ PŘIHLÁŠENÍ. |
INT () | -2147483648 až 2147483647 normální 0 až 4294967295 BEZ PŘIHLÁŠENÍ. |
BIGINT () | -9223372036854775808 až 9223372036854775807 normální 0 až 18446744073709551615 BEZ PŘIHLÁŠENÍ. |
PLOVÁK | Malé přibližné číslo s plovoucí desetinnou čárkou. |
DVOJNÁSOBKA (,) | Velké číslo s plovoucí desetinnou čárkou. |
DECIMAL (,) | DOUBLE uložený jako řetězec, umožňující pevnou desetinnou čárku. Možnost ukládání hodnot měn. |
Typy textových dat
Příkaz | Popis |
CHAR () | Pevná část o délce 0 až 255 znaků. |
VARCHAR () | Proměnlivá část o délce 0 až 255 znaků. |
TINYTEXT | Řetězec s maximální délkou 255 znaků. |
TEXT | Řetězec s maximální délkou 65535 znaků. |
KAPKA | Řetězec s maximální délkou 65535 znaků. |
STŘEDNÍ TEXT | Řetězec s maximální délkou 16777215 znaků. |
STŘEDNÍ BLOB | Řetězec s maximální délkou 16777215 znaků. |
DLOUHÝ TEXT | Řetězec s maximální délkou 4294967295 znaků. |
LONGBLOB | Řetězec s maximální délkou 4294967295 znaků. |
Datové typy datum / čas
Příkaz | Popis |
DATUM | RRRR-MM-DD |
ČAS SCHŮZKY | RRRR-MM-DD HH: MM: SS |
TIMESTAMP | RRRRMMDDHHMMSS |
ČAS | HH: MM: SS |
Další datové typy
Příkaz | Popis |
ENUM | Pro uložení textové hodnoty vybrané ze seznamu předdefinovaných textových hodnot. |
SOUBOR | To se také používá pro ukládání textových hodnot vybraných ze seznamu předdefinovaných textových hodnot. Může mít více hodnot. |
BOOL | Synonymum pro TINYINT (1), slouží k ukládání logických hodnot |
BINARY | Podobně jako CHAR, rozdíl spočívá v tom, že texty jsou uloženy v binárním formátu. |
VARBINÁŘ | Podobně jako u VARCHAR, rozdíl je v tom, že texty jsou uloženy v binárním formátu. |
Příkaz příkazu MySQL SELECT
Příkaz | Popis |
VYBERTE [DISTINCT | VŠE] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) | Syntaxe příkazu SQL SELECT |
SELECT * FROM table1; | vyberte tabulku |
VYBERTE t1, t2, t3, t4 Z tabulky1; | zajímá nás pouze získání pouze polí t1, t2, t3 a t4. |
SELECT Concat (t1, (, t3,)), t4 Z tabulky2; | Získávám výpis tabulky2 |
VYBRAT název_sloupce | hodnota | výraz [AS] alias_name; | Syntaxe názvů polí aliasů |
Klauzule MySQL WHERE s příkazy AND, OR, IN, NOT IN
Příkaz | Popis |
SELECT * FROM tableName WHERE podmínka; | WHERE klauzule Syntaxe |
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; | KDE klauzule v kombinaci s - A LOGICKÝ operátor |
SELECT * FROM table1 WHERE t1 = 1 NEBO t1 = 2; | KDE klauzule v kombinaci s - NEBO LOGICKÝ operátor |
SELECT * FROM table2 WHERE t1 IN (1,2,3); | Klauzule WHERE kombinovaná s - IN Klíčové slovo |
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); | WHERE klauzule kombinovaná s - NOT IN Klíčové slovo |
SELECT * FROM table2 WHERE t3 = Žena; | WHERE klauzule v kombinaci s Equal (=) SROVNÁNÍM OPERÁTORŮ |
SELECT * FROM table3 WHERE t3> 2000; | WHERE klauzule v kombinaci s větším než (>) POROVNÁNÍ OPERÁTORŮ |
SELECT * FROM table1 WHERE t1 <> 1; | WHERE klauzule v kombinaci s nerovná se (<>) SROVNÁNÍM OPERÁTORŮ |
Příkaz MySQL INSERT INTO Table
Příkaz | Popis |
INSERT INTO table_name (column_1, column_2,…) VALUES (value_1, value_2, ...); | základní syntaxe příkazu SQL INSERT |
INSERT INTO table1 (t1, t2, t3, t4) VALUES (X1, X2, X3, X4); | VLOŽTE data do tabulky |
INSERT INTO table_1 SELECT * FROM table_2; | Vkládání do tabulky z jiné tabulky |
Příkaz MySQL DELETE
Příkaz | Popis |
DELETE FROM table_name [WHERE podmínka]; | Odstraňte řádek v MySQL |
Příklad: - DELETE FROM table1 WHERE table1_id = 18;
(smazat záznam z 18 číselného formuláře z tabulky1.) ODSTRANIT Z tabulky1 KDE tabulka1_id IN (20,21); (smazat záznam 20 a 21 čísla id formuláře z tabulky 1)
Příkaz pro aktualizaci MySQL
Příkaz | Popis |
UPDATE název_tabulky SET název_sloupce = nová_hodnota [WHERE podmínka]; | aktualizovat syntaxi příkazu |
Příklad: - SELECT * FROM table1 WHERE t1 = 1;
(načíst záznam pro t1 = 1) AKTUALIZACE tabulka 1 SET t4 = X1 KDE t1 = 1; (aktualizujte hodnotu t4 v tabulce)
ORDER BY in MySQL: DESC & ASC command
Příkaz | Popis |
Příkaz SELECT… [WHERE podmínka | GROUP BY pole_name (s) MÁ podmínku] OBJEDNAT BY pole_name (názvy) [ASC | DESC]; | Seřadit podle klauzule základní syntaxe |
VYBRAT {poleNázev pole | *} FROM tableName (s) [WHERE condition] ORDER BY fieldname (s) ASC / DESC [LIMIT N] | Syntaxe DESC a ASC |
Příklad: - Pro DESC (sestupně)
SELECT * FROM table1 OBJEDNAT PODLE t3 DESC; Pro ASC (vzestupně) SELECT * FROM table1 OBJEDNÁVKA PODLE t3 ASC;
Příkaz MySQL GROUP BY a HAVING Clause
Skupina vytvořená
Příkaz | Popis |
Příkazy SELECT… GROUP BY column_name1 [, column_name2,…] [HAVING podmínka]; | SKUPINA PODLE syntaxe |
Příklad pro seskupení jednoho sloupce: - SELECT t4 FROM table1;
VÝBĚR t4 Z TABULKY 1 SKUPINA PODLE t4; (předpokládejme, že chceme získat jedinečné hodnoty pro t4.)
Příklad pro seskupení více sloupců: - SELECT t1_id, t4 FROM table2;
SELECT t1_id, t4 FROM table2 GROUP BY t1_id, t4; (using group by method)
Seskupování a agregace funkcí
Příkaz | Popis |
VYBERTE t2, POČET (t1) Z tabulky1 SKUPINA PODLE t2; | Předpokládejme, že chceme celkový počet hodnot sloupce t2 v naší databázi. |
Klauzule HAVING
Příkaz | Popis |
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; | všechny t4 pro table2 t1 id x1. K dosažení našich výsledků bychom použili následující skript. |
Příkazy zástupných znaků MySQL pro Like, NOT Like, Escape, (%), (_)
% procento zástupných zástupných příkazů v MySQL
Příkaz | Popis |
Příkazy SELECT… WHERE název pole LIKE xxx%; | základní syntaxe pro% procento zástupných znaků |
Příklad: - použijeme procentní zástupný znak k provedení shody vzorů na obou stranách slova „X1“ jako součást t2 tabulky1 SELECT * FROM table1 WHERE t2 LIKE% X1%;
SELECT * FROM table1 WHERE t2 LIKE% X1; (pouze procentní zástupný znak na začátku vyhledávacích kritérií) VYBERTE * Z TABULKY1 KDE T2 LIKE X1%; (procentní zástupný znak na konec zadaného vzoru, který má být porovnán.)
_ podtržítko se zástupným znakem
Příkaz | Popis |
SELECT * FROM table1 WHERE t3 LIKE x2_; | všechny tabulky1, které byly t3 v roce „x2“ |
NE Jako zástupný příkaz
Příkaz | Popis |
SELECT * FROM table1 WHERE t3 NOT LIKE X2_; | Předpokládejme, že chceme získat tabulku 1, která nebyla t3 v roce X2_ |
Příkaz zástupné slovo pro únikové slovo
Příkaz | Popis |
LIKE 67 # %% ESCAPE #; | chceme zkontrolovat řetězec "67%" |
Regulární výrazy MYSQL (REGEXP)
Příkaz | Popis |
Příkazy SELECT… WHERE název pole REGEXP vzor; | základní syntaxe regulárního výrazu |
Příklad: - všechny tabulky1 t1, které obsahují slovo X1. Nezáleží na tom, zda je „X1“ na začátku, uprostřed nebo na konci titulu. SELECT * FROM table1 WHERE t1 REGEXP X1;
Regulární výraz Metaznaky
Příkaz | Popis |
* | Hvězdička (*) metaznak se používá k porovnání nula (0) nebo více instancí řetězců předcházejících |
+ | Plus (+) metaznak se používá k porovnání jedné nebo více instancí řetězců předcházejících jim. |
? | Metaznak znak (?) Se používá k porovnání nula (0) nebo jedné instance řetězců, které předcházejí. |
. | Metaznak tečka (.) Se používá k přiřazení libovolného jednoho znaku, s výjimkou nového řádku. |
[abc] | Seznam charlistů [abc] se používá ke shodě s libovolnými přiloženými znaky. |
[^abc] | Seznam charlistů [abc] se používá ke shodě s libovolnými znaky kromě přiložených. |
[A-Z] | [AZ] se používá ke shodě s jakýmkoli velkým písmenem |
[a-z] | [Az] se používá ke shodě s malými písmeny |
[0-9] | [0-9] se používá k přiřazení libovolné číslice od 0 do 9. |
^ | Stříška (^) se používá k zahájení zápasu na začátku. |
| | Svislá čára (|) slouží k izolaci alternativ. |
[[:<:]] | [[: <:]] Odpovídá začátku slov. |
[[:>:]] | Symbol [[:>:]] odpovídá konci slova. |
[:class:] | [: Třída:] odpovídá třídě znaků, tj. [: Alfa:] odpovídá písmenům, [: mezera:] odpovídá prázdnému místu, [: punct:] je interpunkční znaménka a [: horní:] pro písmena vyšší třídy. |
Příkazy funkcí SQL
Řetězcové funkce
Příkaz | Popis |
SELECT t1_id, t2, UCASE (t2) Z tabulky1; | funkce „UCASE“. Jako parametr převezme řetězec a převede všechna písmena na velká písmena. |
Numerické funkce
Příkaz | Popis | Příklad |
DIV | Celé dělení | VYBERTE 23 DIV 6; |
/ | Divize | VYBERTE 23/6; |
- | Odčítání | VYBERTE 23 - 6; |
+ | Přidání | VYBERTE 23 + 6; |
* | Násobení | VYBERTE 23 * 6 AS multiplication_result; |
% or MOD | Modul | VYBERTE 23% 6; nebo VYBERTE 23 MOD 6; |
Floor | tato funkce odstraní desetinná místa z čísla a zaokrouhlí jej na nejbližší nejnižší číslo. | VYBERTE PODLAHU (23/6) AS floor_result; |
Round | tato funkce zaokrouhlí číslo s desetinnými místy na nejbližší celé číslo. | VYBERTE KOLO (23/6) AS round_result; |
Uložené funkce
Příkaz | Popis |
VYTVOŘIT FUNKCI sf_name ([parametry)] NÁVRATY datový typ DETERMINISTICKÉ PROHLÁŠENÍ | základní syntaxe pro vytvoření uložené funkce |
VYTVOŘIT FUNKCI sf_name ([parametry)]) | Povinné a říká serveru MySQL, aby vytvořil funkci nazvanou `sf_name 's volitelnými parametry definovanými v závorkách. |
Vrací datový typ | Povinné a určuje datový typ, který by funkce měla vrátit. |
DETERMINISTICKÉ | Funkce vrátí stejné hodnoty, pokud jsou k ní dodány stejné argumenty. |
PROHLÁŠENÍ | Procedurální kód, který funkce provádí. |
Příkazy funkcí agregace MySQL
Příkaz | Popis |
VYBERTE POČET (t1_id) Z tabulky 1 KDE t1_id = 2; | Funkce COUNT |
VYBERTE MIN (t3) Z tabulky2; | Funkce MIN |
VYBERTE MAX (t3) Z tabulky2; | Funkce MAX |
VYBERTE SUM (t4) Z tabulky3; | Funkce SUM |
VYBERTE AVG (t4) Z tabulky3; | Funkce AVG |
MySQL JE NULL & NENÍ NULL příkazy
Příkaz | Popis |
VYBERTE POČET (t3) Z tabulky1; (pokud t3 mají nulovou hodnotu, která se nepočítá) | Null jako hodnota |
CREATE TABLE table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | NE NULL hodnoty |
comlumn_name JE NULL comlumn_name NENÍ NULL | NULL Klíčová slova Základní syntaxe |
SELECT * FROM table1 WHERE t2_number IS NULL; | Příklad IS NULL |
SELECT * FROM table1 WHERE t2_number IS NOT NULL; | Příklad IS NOT NULL |
Příkazy MySQL AUTO_INCREMENT
Příkaz | Popis |
CREATE TABLE table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); | Syntaxe automatického přírůstku |
MYSQL - ALTER, DROP, RENAME, MODIFY
Příkaz | Popis |
ALTER TABLE table_name ADD COLUMN column_name data_type; | Změna syntaxe |
DROP TABLE sample_table; | Syntaxe DROP TABLE |
TABULKA PŘEJMENU aktuální_název_tabulky NA nový_název_tabulky; | PŘEJMENUJTE syntaxi PŘÍKAZU |
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; | ZMĚNA KLÍČOVÉHO SLOVA |
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; | ZMĚNTE KLÍČOVÉ SLOVO |
ALTER TABLE tabulka 1 PŘIDAT t4 datum NULL PO t3; | PO KLÍČOVÉM SLOVU |
MySQL LIMIT & OFFSET
Příkaz | Popis |
VYBRAT {název pole | | *} FROM tableName (s) [WHERE podmínka] LIMIT N; | LIMIT syntaxe klíčového slova |
SELECT * FROM table1 LIMIT 1, 2; | OFF SET v dotazu LIMIT |
Příkazy MySQL SubQuery:
Příkaz | Popis |
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) z tabulky2); | dílčí dotazy |
Příkazy MySQL JOINS
Příkaz | Popis |
SELECT * FROM table1 CROSS JOIN table2 | Cross JOIN |
SELECT table1.t1, table1.t2, table2.t1 FROM table1, table2 WHERE table2.id = table1.table2_id | VNITŘNÍ SPOJENÍ |
VYBERTE A.t1, B.t2, B.t3 Z tabulky 2 JAKO LEVÝ PŘIPOJTE se tabulka 1 JAKO B ON B.table2_id = A.id | VLEVO SE PŘIPOJTE |
VYBERTE A.t1, A.t2, B.t3 Z tabulky1 JAKO SPRÁVNÉ PŘIPOJENÍ tabulka2 JAKO B ON B.id = A.table2_id | SPRÁVNĚ SE PŘIPOJTE |
VYBERTE A.t1, B.t2, B.t3 Z tabulky 2 JAKO LEVÝ PŘIPOJTE se tabulka 1 JAKO B POUŽÍVÁNÍ (tabulka2_id) | Klauzule „ZAPNUTO“ a „POUŽÍVÁNÍ“ |
Příkazy MySQL UNION
Příkaz | Popis |
VYBERTE sloupec1, sloupec2 Z tabulky1 | Syntaxe UNION |
VYBERTE sloupec1, sloupec2 Z tabulky2; | ODBORNÁ UNIE |
MySQL v příkazech Views
Příkaz | Popis |
CREATE VIEW view_name AS SELECT prohlášení; | Syntaxe zobrazení |
DROP VIEW general_v_movie_rentals; | Zrušení zobrazení |
Příkazy MySQL Index
Příkaz | Popis |
CREATE INDEX id_index ON table_name (column_name); | Přidejte základní syntaxi indexu |
DROP INDEX index_id ON table_name; | Drop syntaxe základní syntaxe |