SQL-petuleht käskudega ja Descriptioon (2026)

⚡ Nutikas kokkuvõte

See SQL-i spikker kogub kokku käsud, millega töötav arendaja iga päev kokku puutub, jaotades need ülesannete kaupa. Igas jaotises on täpne süntaks ja lihtne kirjeldus, mis hõlmab andmebaasi loomist, andmetüüpe, päringute tegemist, filtreerimist, ühendamist ja indekseerimist.

  • 🗄️ Struktuuri käsud: Skeemi defineerivad ja ümber kujundavad käsud CREATE DATABASE (loo andmebaas), CREATE TABLE (loo tabel), ALTER (muuda), RENAME (ümbernimeta) ja DROP (kukuta).
  • 🔢 Andmetüübid: Numbrilised, tekstilised, kuupäevalised ja binaartüübid määravad iga veeru salvestusmahu ja kehtivusvahemiku.
  • 🔎 Taaskasutuskäsklused: SELECT koos funktsioonidega WHERE, IN, LIKE ja REGEXP kitsendab tulemuste komplekti oluliste ridadeni.
  • ✍️ Muutmiskäsud: INSERT, UPDATE ja DELETE muudavad salvestatud ridu ning igaüks neist aktsepteerib valikulist tingimust.
  • 📊 Koondamise käsud: GROUP BY funktsioonide COUNT, MIN, MAX, SUM ja abil AVG võtab andmed kokku ja HAVING filtreerib rühmad.
  • 🔗 Kombineeritud käsud: JOIN ühendab tabeleid kõrvuti, samas kui UNION virnastab kahe päringu tulemused.

SQL-petuleht

Andmebaasi ja tabeli käskude loomine

Iga SQL-seanss algab andmebaasiga ja vähemalt ühe tabeliga ridade hoidmiseks.

käsk Kirjeldus
CREATE DATABASE database1; Loo andmebaas
CREATE DATABASE IF NOT EXISTS database1; IF NOT EXISTS (kui pole olemas), siis saad juhiseid anda. MySQL serverit, et enne andmebaasi loomist kontrollida sarnase nimega andmebaasi olemasolu.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; Latin1 tähemärkide komplekt kasutab latin1_swedish_ci järjestust, mis on rootsi tähemärkide suur- ja väiketähti mittetundev järjestus.
SHOW DATABASES; Selle SQL-käsu abil saate vaadata olemasolevate andmebaaside loendit.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; Loo tabeli süntaks

SQL-i andmetüüpide petuleht

Veeru andmetüüp määrab, mida see saab salvestada ja kui palju ruumi iga rida võtab.

Numbrilised andmetüübid

käsk Kirjeldus
TINYINT( ) -128 kuni 127 tavaline, 0 kuni 255 ALLKIRJATA.
SMALLINT( ) -32768 kuni 32767 normaalne
0 kuni 65535 ALLKIRJATA.
MEDIUMINT( ) -8388608 kuni 8388607 normaalne
0 kuni 16777215 ALLKIRJATA.
INT( ) -2147483648 kuni 2147483647 normaalne
0 kuni 4294967295 ALLKIRJATA.
BIGINT( ) -9223372036854775808 kuni 9223372036854775807 normaalne
0 kuni 18446744073709551615 ALLKIRJATA.
FLOAT Väike ligikaudne arv ujuva komaga.
DOUBLE( , ) Suur ligikaudne arv ujukomaga.
DECIMAL( , ) Täpne fikseeritud komaarv. Eelistatud valik valuutaväärtuste salvestamiseks.

Teksti andmetüübid

käsk Kirjeldus
CHAR( ) Fikseeritud pikkusega sektsioon, mille pikkus on 0 kuni 255 tähemärki.
VARCHAR( ) Muutuva pikkusega sektsioon, mille pikkus on 0 kuni 65535 tähemärki.
TINYTEXT String, mille maksimaalne pikkus on 255 tähemärki.
TEXT String, mille maksimaalne pikkus on 65535 tähemärki.
BLOB Binaarandmed maksimaalse pikkusega 65535 baiti.
MEDIUMTEXT String, mille maksimaalne pikkus on 16777215 tähemärki.
MEDIUMBLOB Binaarandmed maksimaalse pikkusega 16777215 baiti.
LONGTEXT String, mille maksimaalne pikkus on 4294967295 tähemärki.
LONGBLOB Binaarandmed maksimaalse pikkusega 4294967295 baiti.

Kuupäeva/kellaaja andmetüübid

käsk Kirjeldus
DATE AAAA-KK-DD
DATETIME AAAA-KK-PP HH: KK: SS
TIMESTAMP AAAA-KK-PP HH:MM:SS, salvestatud UTC järgi ja teisendatud seansi ajavööndisse.
TIME HH: MM: SS

Muud andmetüübid

käsk Kirjeldus
ENUM Eelnevalt määratletud tekstiväärtuste loendist valitud ühe tekstiväärtuse salvestamiseks.
SET Seda kasutatakse ka eelnevalt määratletud tekstiväärtuste loendist valitud tekstiväärtuste salvestamiseks. See võib sisaldada mitut väärtust.
BOOL TINYINT(1) sünonüüm, kasutatakse Boole'i ​​väärtuste salvestamiseks.
BINARY Sarnane CHAR-iga; erinevus seisneb selles, et tekst salvestatakse binaarvormingus.
VARBINARY Sarnaselt VARCHAR-iga; erinevus seisneb selles, et tekst salvestatakse binaarvormingus.

SQL SELECT käsk

SELECT on käsk, mida kasutatakse ridade lugemiseks tabelist tagasi.

käsk Kirjeldus
SELECT * FROM table1; Valige tabelist iga veerg
SELECT t1, t2, t3, t4 FROM table1; Meid huvitavad ainult väljade t1, t2, t3 ja t4 saamine.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; Veergude väärtuste ühendamine üheks väljundveeruks
SELECT column_name | value | expression [AS] alias_name; Aliaside väljanimede süntaks

SQL WHERE-klausel koos käskudega AND, OR, IN, NOT IN

WHERE-klausel filtreerib ridu ja allolevaid operaatoreid saab selle sees kombineerida.

käsk Kirjeldus
SELECT * FROM tableName WHERE condition; WHERE-klausli süntaks
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE-klausel koos AND-loogilise operaatoriga
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE-klausel koos OR-loogilise operaatoriga
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE-klausel koos IN-võtmesõnaga
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE-klausel koos märksõnaga NOT IN
SELECT * FROM table2 WHERE t3 = 'Female'; WHERE-klausel koos võrdusoperaatoriga (=)
SELECT * FROM table3 WHERE t3 > 2000; WHERE-lause koos võrdlusoperaatoriga „suurem kui” (>)
SELECT * FROM table1 WHERE t1 <> 1; WHERE-klausel koos võrdlusoperaatoriga „mitte võrdne“ (<>)

SQL-i käsk INSERT INTO tabel

käsk Kirjeldus
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); SQL INSERT käsu põhisüntaks
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); Andmete lisamine tabelisse
INSERT INTO table_1 SELECT * FROM table_2; Tabelisse lisamine teisest tabelist

SQL DELETE käsk

käsk Kirjeldus
DELETE FROM table_name [WHERE condition]; Kustutage rida MySQL

SQL-i värskendamise käsk

käsk Kirjeldus
UPDATE table_name SET column_name = new_value [WHERE condition]; Käskluse süntaksi värskendamine

ORDER BY SQL-is: käsk DESC & ASC

käsk Kirjeldus
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; ORDER BY klausli põhisüntaks
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N]; DESC ja ASC süntaks

SQL GROUP BY ja HAVING Clause käsk

GROUP BY `HAVING` koondab read rühmadesse ja `HAVING` filtreerib need rühmad pärast moodustamist.

Grupi poolt

käsk Kirjeldus
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; GROUP BY süntaks

Grouping ja koondfunktsioonid

käsk Kirjeldus
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; Oletame, et tahame oma andmebaasis t2 veeru väärtuste koguarvu.

ON klausel

käsk Kirjeldus
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; Tagastab kõik t4 väärtused tabeli 2 ridade kohta, mille t1_id on x1.

SQL metamärkide käsud meeldivaks, MITTE meeldivaks, paoteks, ( % ), ( _ )

Metamärgid võimaldavad LIKE-l leida vasteid osaliste stringidega.

% protsendi metamärgi käsk MySQL

käsk Kirjeldus
SELECT statements... WHERE fieldname LIKE 'xxx%'; % protsendi metamärgi põhisüntaks, mis vastab mis tahes arvule märkidele

_ allkriipsutus metamärgi käsk

käsk Kirjeldus
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; Alakriips vastab täpselt ühele tähemärgile.

MITTE nagu metamärgi käsk

käsk Kirjeldus
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; Oletame, et me tahame tabel1 ridu, mille t3 väärtus ei vasta mustrile.

Escape märksõna metamärgi käsk

käsk Kirjeldus
LIKE '67#%' ESCAPE '#'; Kontrollib literaalstringi „67%“, sest # asendab metamärgi.

SQL-i regulaaravaldised (REGEXP)

käsk Kirjeldus
SELECT statements... WHERE fieldname REGEXP 'pattern'; Regulaaravaldise vaste põhisüntaks

Regulaaravaldise metamärgid

käsk Kirjeldus
* Tärn (*) metamärk vastab nullile või enamale eelneva stringi eksemplarile.
+ Plussmärk (+) metamärk vastab ühele või mitmele eelneva stringi eksemplarile.
? Küsimärgi (?) metamärk vastab nullile või ühele eelneva stringi eksemplarile.
. Punkt (.) metamärk sobib iga üksiku märgiga, välja arvatud rea algusesse asetamine.
[abc] Märkide loend [abc] vastab mis tahes lisatud tähemärgile.
[^abc] Märkide loend [^abc] leiab kõik märgid, välja arvatud need, mis on seal sees.
[A-Z] Vahemik [AZ] vastab igale suurtähele.
[a-z] Vahemik [az] vastab igale väiketähele.
[0-9] Vahemik [0-9] sobib mis tahes numbriga vahemikus 0 kuni 9.
^ Keskmine kursor (^) ankurdab vaste algusesse.
| Vertikaalne kriips (|) eraldab alternatiive.
[[:<:]] Marker [[:<:]] tähistab sõnade algust.
[[:>:]] Marker [[:>:]] tähistab sõnade lõppu.
[:class:] Marker [:class:] vastab märgiklassile, näiteks [:alpha:] tähtede, [:space:] tühiku, [:punct:] kirjavahemärkide ja [:upper:] suurtähtede korral.

SQL funktsioonide käsud

Stringi funktsioonid

käsk Kirjeldus
SELECT t1_id, t2, UCASE(t2) FROM table1; UCASE-funktsioon võtab parameetrina stringi ja teisendab kõik tähed suurtähtedeks.

Numbrilised funktsioonid

käsk Kirjeldus Näide
DIV Täisarv jagunemine SELECT 23 DIV 6;
/ jaotus SELECT 23 / 6;
- allatracmine SELECT 23 - 6;
+ Lisamine SELECT 23 + 6;
* Korrutamine SELECT 23 * 6 AS multiplication_result;
% or MOD Moodul SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR Eemaldab arvust kümnendkohad ja ümardab selle lähima täisarvuni. SELECT FLOOR(23 / 6) AS floor_result;
ROUND Ümardab kümnendkohtadega arvu lähima täisarvuni. SELECT ROUND(23 / 6) AS round_result;

Salvestatud funktsioonid

käsk Kirjeldus
CREATE FUNCTION sf_name ([parameter(s)]) Kohustuslik. Räägib. MySQL serveril luua funktsioon nimega sf_name sulgudes määratletud valikuliste parameetritega.
RETURNS data type Kohustuslik. Määrab funktsiooni tagastatava andmetüübi.
DETERMINISTIC Funktsioon tagastab sama väärtuse alati, kui talle antakse samad argumendid.
STATEMENTS Protseduurikood, mida funktsioon käivitab.

SQL Aggregate funktsiooni käsud

käsk Kirjeldus
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; COUNT funktsioon
SELECT MIN(t3) FROM table2; MIN funktsioon
SELECT MAX(t3) FROM table2; MAX funktsioon
SELECT SUM(t4) FROM table3; SUM-funktsioon
SELECT AVG(t4) FROM table3; AVG funktsioon

SQL IS NULL & IS NOT NULL käsud

A NULL on puuduv väärtus, seega tuleb seda testida IS NULL-iga, mitte võrdusoperaatoriga.

käsk Kirjeldus
SELECT COUNT(t3) FROM table1; Funktsioon COUNT ignoreerib veerus olevaid NULL-väärtusi.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
NOT NULL keelab veerus tühjad väärtused.
column_name IS NULL
column_name IS NOT NULL
NULL-märksõnade põhisüntaks
SELECT * FROM table1 WHERE t2_number IS NULL; Näide IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; Näide IS NOT NULL

SQL AUTO_INCREMENT käsud

käsk Kirjeldus
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
Automaatne juurdekasvu süntaks

SQL – ALTER, Drop, RENAME, MODIFY

Need käsud muudavad tabelit, mis juba sisaldab andmeid.

käsk Kirjeldus
ALTER TABLE table_name ADD COLUMN column_name data_type; ALTER süntaks
DROP TABLE sample_table; Drop TABLE süntaks
RENAME TABLE current_table_name TO new_table_name; RENAME käsu süntaks
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; MUUDA märksõna
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; MODIFY märksõna
ALTER TABLE table1 ADD t4 date NULL AFTER t3; Märksõna PÄRAST

SQL LIMIT & NIVE

käsk Kirjeldus
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT märksõna süntaks
SELECT * FROM table1 LIMIT 1, 2; Nihe LIMIT päringus: jäta 1 rida vahele ja tagasta 2.

SQL-i alampäringu käsud

käsk Kirjeldus
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
Alampäringud

SQL JOINS käsud

LIITAB kahe tabeli veergude ühendamine üheks tulemuste komplektiks.

käsk Kirjeldus
SELECT * FROM table1 CROSS JOIN table2; Risti LIITUMINE
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
VASAK LIITU
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
ÕIGE LIITUMINE
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
"ON" ja "USING" klauslid

SQL UNION käsud

UNION virnastab kahe päringu read, samas kui JOIN laiendab neid rohkemateks veergudeks.

käsk Kirjeldus
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION-süntaks. Topeltread eemaldatakse.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL säilitab duplikaatridade.

SQL-i vaadetes käsud

views salvestage päring nime all, et seda saaks tabelina uuesti kasutada.

käsk Kirjeldus
CREATE VIEW view_name AS SELECT statement; Vaatamiste süntaks
DROP VIEW general_v_movie_rentals; Dropping vaated

SQL-i indeksi käsud

Indeks on otsingustruktuur, mis muudab veeru otsingu palju kiiremaks.

käsk Kirjeldus
CREATE INDEX id_index ON table_name(column_name); Lisage indeksi põhisüntaks
DROP INDEX index_id ON table_name; Kukkumisindeksi põhisüntaks

KKK

Ei. Märksõnad nagu SELECT ja WHERE toimivad igal juhul. Suurtähed on kokkulepe, mis eraldab käske identifikaatoritest. Tabelite nimed võivad aga Linuxis olla tõstutundlikud.

DELETE eemaldab valitud read ja neid saab tagasi võtta. TRUNCATE tühjendab kogu tabeli kiiresti ja lähtestab AUTO_INCREMENT. DROP eemaldab tabeli definitsiooni enda.

Esmalt käivitatakse FROM ja JOIN, seejärel WHERE, GROUP BY, HAVING, SELECT, ORDER BY ja lõpuks LIMIT. Seetõttu ei saa SELECT-is defineeritud veerualiast WHERE sees kasutada.

Jah. Tekstist SQL-i teisendamise abilised tõlgivad küsimuse päringuks tabeli skeemi abil. Lugege alati genereeritud WHERE ja JOIN tingimusi, sest usutav päring võib tagastada valesid ridu.

Jah. RevTehisintellekti väljundi vaatamine, aeglaste päringute häälestamine ja täitmisplaani lugemine nõuavad käskude sujuvust. Teabeleht kiirendab meeldejätmist, kuid see ei asenda arusaamist.

Võta see postitus kokku järgmiselt: