Na tem varalniku SQL Query se boste naučili
Ustvari ukaze zbirke podatkov in tabele
Ukaz | Opis |
USTVARI BAZO PODATKOVNIH BAZ; | Ustvari bazo podatkov |
USTVARI BAZO PODATKOV, KI NE OBSTAJA database1; | ČE NE OBSTAJA, vam lahko strežniku MySQL naročite, naj pred ustvarjanjem baze podatkov preveri obstoj baze podatkov s podobnim imenom. |
USTVARI BAZO PODATKOV, ČE NE OBSTAJA zbirka podatkov1 NASTAV LIKOV latinica1 ZBIRANJE latin1_swedish_ci | nabor znakov Latin1 uporablja primerjavo latin1_swedish_ci, ki je švedski vrstni red, ki ne razlikuje med velikimi in malimi črkami. |
PRIKAŽI BAZE PODATKOV | Seznam obstoječih baz podatkov si lahko ogledate tako, da zaženete naslednji ukaz SQL. |
USTVARI TABELO [ČE NE OBSTAJA] TableName (ime polja dataType [neobvezni parametri]) ENGINE = pomnilnik; | Ustvari sintakso tabele |
VRSTE PODATKOV
Številski tipi podatkov
Ukaz | Opis |
TINYINT () | -128 do 127 normalno 0 do 255 NEPOTPISANO. |
SMALLINT () | -32768 do 32767 normalno 0 do 65535 NEPOTPISANO. |
MEDIUMINT () | -8388608 do 8388607 normalno 0 do 16777215 NEPOTPISANO. |
INT () | -2147483648 do 2147483647 normalno 0 do 4294967295 NEPOTPISANO. |
VELIKO () | -9223372036854775808 do 9223372036854775807 normalno 0 do 18446744073709551615 NEPOTPISANO. |
FLOAT | Majhno približno število s plavajočo decimalno vejico. |
DVOJNI (,) | Veliko število s plavajočo decimalno vejico. |
DECIMALNO (,) | Dvojnik, shranjen kot niz, ki omogoča fiksno decimalno vejico. Izbira za shranjevanje valutnih vrednosti. |
Vrste besedilnih podatkov
Ukaz | Opis |
CHAR () | Fiksni odsek, dolg od 0 do 255 znakov. |
VARCHAR () | Spremenljiv odsek, dolg od 0 do 255 znakov. |
TINYTEXT | Niz z največjo dolžino 255 znakov. |
BESEDILO | Niz z največjo dolžino 65535 znakov. |
BLOB | Niz z največjo dolžino 65535 znakov. |
SREDNJE BESEDILO | Niz z največjo dolžino 16777215 znakov. |
SREDNJI KOS | Niz z največjo dolžino 16777215 znakov. |
LONGTEXT | Niz z največjo dolžino 4294967295 znakov. |
LONGBLOB | Niz z največjo dolžino 4294967295 znakov. |
Podatkovni tipi datum / čas
Ukaz | Opis |
DATUM | LLLL-MM-DD |
DATUM ČAS | LLLL-MM-DD HH: MM: SS |
TIMESTAMP | LLLLMMDDHHMMSS |
ČAS | HH: MM: SS |
Druge vrste podatkov
Ukaz | Opis |
ENUM | Shranjevanje besedilne vrednosti, izbrane s seznama vnaprej določenih besedilnih vrednosti. |
SET | To se uporablja tudi za shranjevanje besedilnih vrednosti, izbranih s seznama vnaprej določenih besedilnih vrednosti. Lahko ima več vrednosti. |
BOOL | Sinonim za TINYINT (1), ki se uporablja za shranjevanje logičnih vrednosti |
BINARNA | Podobno kot CHAR se tudi pri besedilih razlikuje, da so besedila shranjena v binarni obliki. |
VARBINARSKA | Podobno kot VARCHAR je tudi razlika v tem, da so besedila shranjena v binarni obliki. |
Ukaz stavka MySQL SELECT
Ukaz | Opis |
IZBERITE [DISTINCT | VSE] {* | [fieldExpression [AS newName]} FROM tableName [vzdevek] [WHERE pogoj] [GROUP BY FieldName (s)] [HAVING condition] ORDER BY fieldName (s) | Sintaksa stavka SQL SELECT |
SELECT * FROM table1; | izberite tabelo |
IZBERITE t1, t2, t3, t4 IZ tabele1; | zanima nas samo, da dobimo samo polja t1, t2, t3 in t4. |
IZBERI Concat (t1, (, t3,)), t4 IZ tabele2; | Pridobivanje seznama table2 |
IZBERI ime_ stolpca | vrednost | izraz [AS] alias_name; | Sintaksa imen polj vzdevkov |
Stavek MySQL WHERE z ukazi AND, OR, IN, NOT IN
Ukaz | Opis |
SELECT * FROM tableName WHERE pogoj; | Klavzula WHERE Sintaksa |
IZBERITE * IZ tabele1 KJER je t1 = 2 IN t2 = 2008; | Klavzula WHERE v kombinaciji z - IN LOGICAL Operator |
SELECT * FROM table1 WHERE t1 = 1 ALI t1 = 2; | Klavzula WHERE v kombinaciji z - OR LOGICAL Operator |
SELECT * FROM table2 WHERE t1 IN (1,2,3); | Stavek WHERE v kombinaciji s ključno besedo - IN |
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); | Stavek WHERE v kombinaciji z - NOT IN Keyword |
SELECT * FROM table2 WHERE t3 = Female; | Klavzula WHERE v kombinaciji z Enako (=) PRIMERJALNIM OPERATERJEM |
SELECT * FROM table3 WHERE t3> 2000; | Klavzula WHERE v kombinaciji z več kot (>) za COMPARISON OPERATORS |
SELECT * FROM table1 WHERE t1 <> 1; | Klavzula WHERE v kombinaciji z Ni enako (<>) PRIMERJALNI OPERATORJI |
Ukaz MySQL INSERT INTO Table
Ukaz | Opis |
INSERT INTO ime_tabele (stolpec_1, stolpec_2,…) VREDNOSTI (vrednost_1, vrednost_2,…); | osnovna sintaksa ukaza SQL INSERT |
VSTAVI V VREDNOST tabele1 (t1, t2, t3, t4) (X1, X2, X3, X4); | VSTAVITE podatke v tabelo |
INSERT INTO table_1 SELECT * FROM table_2; | Vstavljanje v tabelo iz druge tabele |
Ukaz MySQL DELETE
Ukaz | Opis |
IZBRIŠI IZ ime_tabele [WHERE pogoj]; | Izbrišite vrstico v MySQL |
Primer: - IZBRIŠI IZ tabele1 KJE tabela1_id = 18;
(izbriši vnos 18 številke id obrazca table1.) IZbriši iz table1 WHERE table1_id IN (20,21); (izbriši vnos številke 20 in 21 številke id table1)
Ukaz za posodobitev MySQL
Ukaz | Opis |
UPDATE ime_tabele SET ime_ stolpca = nova_vrednost [WHERE pogoj]; | posodobitev sintakse ukaza |
Primer: - SELECT * FROM table1 WHERE t1 = 1;
(pridobi zapis za t1 = 1) POSODOBI tabelo1 SET t4 = X1 KJE t1 = 1; (posodobite vrednost t4 v tabeli)
ORDER BY v MySQL: ukaz DESC & ASC
Ukaz | Opis |
Izjava SELECT… [pogoj WHERE | GROUP BY ime (-a) polja (-a), KI IMAJO pogoj] NAROČI PO-ime (-a) polja [ASC | DESC]; | Razvrsti po klavzuli osnovna sintaksa |
SELECT {poljaName |. | *} FROM tableName [WHERE pogoj] NAROČI PO imenih polj ASC / DESC [LIMIT N] | Sintaksa DESC in ASC |
Primer: - Za DESC (padajoče)
IZBERI * IZ tabele1 NAROČI PO t3 DESC; Za ASC (naraščajoče) SELECT * FROM table1 ORDER BY t3 ASC;
Ukaz klavzule MySQL GROUP BY in HAVING
Razvrsti po
Ukaz | Opis |
IZBERI stavke ... GROUP BY ime_ stolpca1 [, ime_ stolpca2, ...] [HAVING stanje]; | Sintaksa GROUP BY |
Primer združevanja posameznega stolpca: - IZBERI t4 IZ tabele1;
IZBERITE t4 IZ tabele1 GROUP BY t4; (predpostavimo, da želimo dobiti enolične vrednosti za t4.)
Primer združevanja več stolpcev: - IZBERI t1_id, t4 IZ tabele2;
IZBERI t1_id, t4 IZ tabele2 GROUP BY t1_id, t4; (z uporabo skupine po metodi)
Funkcije združevanja in združevanja
Ukaz | Opis |
IZBERITE t2, COUNT (t1) IZ table1 GROUP BY t2; | Recimo, da želimo v naši bazi podatkov skupno število vrednosti stolpcev t2. |
Klavzula HAVING
Ukaz | Opis |
SELECT * FROM table2 GROUP BY t1_id, t4 IMA t1_id = x1; | vsi t4 za tabelo2 t1 id x1. Za doseganje rezultatov bi uporabili naslednji skript. |
Nadomestni ukazi MySQL za Like, NOT Like, Escape, (%), (_)
% odstotek nadomestnih znakov v MySQL
Ukaz | Opis |
SELECT stavki ... WHERE ime polja LIKE xxx%; | osnovna sintaksa za% odstotni nadomestni znak |
Primer: - uporabili bi odstotni nadomestni znak za izvedbo ujemanja vzorca na obeh straneh besede "X1" kot del t2 tabele1 SELECT * FROM table1 WHERE t2 LIKE% X1%;
SELECT * FROM table1 WHERE t2 LIKE% X1; (samo odstotek nadomestnega znaka na začetku iskalnih meril) SELECT * FROM table1 WHERE t2 LIKE X1%; (odstotek nadomestnega znaka do konca določenega vzorca, ki se ujema.)
_ podčrtaj nadomestni ukaz
Ukaz | Opis |
SELECT * FROM table1 WHERE t3 LIKE x2_; | vse tabele1, ki so bile t3 v letu "x2" |
NE Kot nadomestni ukaz
Ukaz | Opis |
IZBERITE * IZ tabele1 KJER t3 NI KOT X2_; | Recimo, da želimo dobiti tabelo1, ki v letu X2 ni bila t3 |
Ukaz nadomestne besede za pobeg
Ukaz | Opis |
KOT 67 # %% POBEG #; | želimo preveriti niz "67%" |
Regularni izrazi MYSQL (REGEXP)
Ukaz | Opis |
SELECT stavki ... WHERE ime polja vzorec REGEXP; | osnovna sintaksa regularnega izraza |
Primer: - vse tabele1 t1, v katerih je beseda X1. Ni pomembno, ali je "X1" na začetku, sredini ali koncu naslova. SELECT * FROM table1 WHERE t1 REGEXP X1;
Regularni izraz Metaznaki
Ukaz | Opis |
* | Znak z zvezdico (*) se uporablja za ujemanje nič (0) ali več primerkov nizov pred njim |
+ | Znak plus (+) se uporablja za ujemanje enega ali več primerov nizov pred njim. |
? | Vprašanje (?) Se uporablja za ujemanje nič (0) ali enega primerka nizov pred njim. |
. | Znak s piko (.) Se uporablja za ujemanje s katerim koli znakom, razen z novo vrstico. |
[abc] | Seznam znakov [abc] se uporablja za ujemanje katerega koli priloženega znaka. |
[^abc] | Seznam znakov [abc] se uporablja za ujemanje vseh znakov, razen priloženih. |
[A-Z] | [AZ] se uporablja za ujemanje z veliko začetnico |
[a-z] | [Az] se uporablja za ujemanje z malimi črkami |
[0-9] | [0-9] se uporablja za ujemanje katere koli številke od 0 do 9. |
^ | Kareta (^) se uporablja za začetek tekme na začetku. |
| | Navpična vrstica (|) se uporablja za izolacijo alternativ. |
[[:<:]] | [[: <:]] Se ujema z začetkom besed. |
[[:>:]] | [[:>:]] Se ujema s koncem besed. |
[:class:] | [: Class:] se ujema z znakovnim razredom, tj. [: Alpha:], da se ujema s črkami, [: presledek:], da se ujema s presledkom, [: punct:] je ločila za ujemanje in [: zgornji:] za črke zgornjega razreda. |
Ukazi funkcij SQL
String funkcije
Ukaz | Opis |
IZBERI t1_id, t2, UCASE (t2) IZ table1; | funkcijo "UCASE" za to. Kot parameter vzame niz in pretvori vse črke v velike črke. |
Številske funkcije
Ukaz | Opis | Primer |
DIV | Celotna delitev | IZBERITE 23 DIV 6; |
/ | Divizija | IZBERITE 23/6; |
- | Odštevanje | IZBERITE 23 - 6; |
+ | Dodatek | IZBERITE 23 + 6; |
* | Množenje | SELECT 23 * 6 AS multiplication_result; |
% or MOD | Modul | IZBERITE 23% 6; ali SELECT 23 MOD 6; |
Floor | ta funkcija s številke odstrani decimalna mesta in jo zaokroži na najbližjo najnižjo številko. | IZBERITE TL (23/6) KOT rezultat nadstropja; |
Round | ta funkcija zaokroži število z decimalnimi mesti na najbližje celo število. | IZBERI KROG (23/6) KOT rezultat okroglih rezultatov; |
Shranjene funkcije
Ukaz | Opis |
USTVARI FUNKCIJO sf_name ([parameter (s)]) VRNI podatkovni tip DETERMINISTIČNE IZJAVE | osnovna sintaksa za ustvarjanje shranjene funkcije |
USTVARI FUNKCIJO sf_name ([parameter (s)]) | Obvezna in pove strežniku MySQL, naj ustvari funkcijo z imenom `sf_name 'z neobveznimi parametri, definiranimi v oklepaju. |
VRNI podatkovni tip | Obvezno in določa vrsto podatkov, ki jo mora funkcija vrniti. |
DETERMINISTIČNO | Funkcija bo vrnila enake vrednosti, če so ji dostavljeni enaki argumenti. |
IZJAVE | Procesna koda, ki jo funkcija izvrši. |
Ukazi funkcije MySQL Aggregate
Ukaz | Opis |
SELECT COUNT (t1_id) FROM table1 WHERE t1_id = 2; | Funkcija COUNT |
IZBERI MIN (t3) IZ tabele2; | MIN funkcija |
IZBERI MAX (t3) IZ tabele2; | MAX funkcija |
IZBERI SUM (t4) IZ tabele3; | Funkcija SUM |
IZBERITE AVG (t4) IZ tabele3; | Funkcija AVG |
MySQL je NULL in NI NULL ukazov
Ukaz | Opis |
IZBERI ŠTEVILO (t3) IZ tabele1; (če ima t3 ničelno vrednost, ki ne šteje) | Nič kot vrednost |
USTVARI TABELO table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | NOT NULL Vrednosti |
ime_ stolpca JE NULL ime_ stolpca NI NULL | NULL Ključne besede Osnovna sintaksa |
SELECT * FROM table1 WHERE t2_number IS NULL; | Primer IS NULL |
SELECT * FROM table1 WHERE t2_number NOT NULL; | Primer IS NULL |
Ukazi MySQL AUTO_INCREMENT
Ukaz | Opis |
USTVARI TABELO table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); | Sintaksa samodejnega povečanja |
MYSQL - SPREMENI, PUSTI, PRENIMI, SPREMENI
Ukaz | Opis |
ALTER TABLE ime_tabele DODAJ STOLPEC ime_ stolpca data_type; | Nadomestna sintaksa |
TAPELA DROP sample_table; | Sintaksa DROP TABLE |
PRENIMI TABELO trenutno_ime_tabele V novo_ime_tabele; | Sintaksa RENAME COMMAND |
ALTER TABLE table1 SPREMENI STOLPEC t1_names t1name char (250) NOT NULL; | SPREMENI KLJUČNO BESEDO |
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; | SPREMENITE KLJUČNO BESEDO |
ALTER TABLE tabela1 DODAJ t4 datum NULL PO t3; | PO KLJUČNI BESEDI |
Omejitev in odmik MySQL
Ukaz | Opis |
SELECT {ime (-a) polja | *} FROM tableName [WHERE pogoj] OMEJITEV N; | LIMIT sintaksa ključnih besed |
SELECT * FROM table1 LIMIT 1, 2; | OFF SET v poizvedbi LIMIT |
Ukazi MySQL SubQuery:
Ukaz | Opis |
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) iz table2); | podpoizvedbe |
Ukazi MySQL JOINS
Ukaz | Opis |
SELECT * FROM table1 CROSS JOIN tabela2 | Cross PRIDRUŽI |
IZBERI table1.t1, table1.t2, table2.t1 FROM table1, table2 WHERE table2.id = table1.table2_id | INNER JOIN |
IZBERITE A.t1, B.t2, B.t3 IZ tabele2 KAKO LEVO PRIDRUŽITE tabelo1 KOT B ON B.table2_id = A.id | LEVO PRIDRUŽITE |
IZBERITE A.t1, A.t2, B.t3 IZ tabele1 KAKO DESNO PRIDRUŽITE tabelo2 KAKO B ON B.id = A.table2_id | PRAVO PRIDRUŽI |
IZBERITE A.t1, B.t2, B.t3 IZ tabele2 KOT LEVO PRIDRUŽITEV tabele1 KOT B UPORABA (table2_id) | Klavzuli "ON" in "USING" |
Ukazi MySQL UNION
Ukaz | Opis |
IZBERI stolpec1, stolpec2 IZ tabele1 | Sintaksa UNION |
IZBERI stolpec1, stolpec2 IZ tabele2; | ZALOGA UNIJE |
MySQL v ukazih Views
Ukaz | Opis |
CREATE VIEW pogled_ime AS stavek SELECT; | Sintaksa pogledov |
PUSTI POGLED general_v_movie_rentals; | Spuščanje pogledov |
Ukazi MySQL Index
Ukaz | Opis |
USTVARI INDEKS id_index ON ime_tabele (ime_ stolpca); | Dodajte osnovno sintakso indeksa |
DROP INDEX index_id NA ime_tabele; | Spusti indeks osnovne sintakse |