MySql parancsok összefoglaló

Adatbázis kezelés SQL Web

Lekérdezések

select – választó lekérdezés

SELECT [mezők vagy *] DISTINCT – Duplikált értékek kiszűrése:
FROM [tábla]
WHERE [feltétel]
GROUP BY [oszlop(ok)]
HAVING [feltétel csoportosított adatokra]
ORDER BY [oszlop(ok)] [ASC|DESC]
LIMIT [sorok száma];

Szűrés és logikai operátorok

  • =, >, <, >=, <=, <> (nem egyenlő)
  • AND, OR, NOT
  • BETWEEN alsóérték AND felsőérték (tartalmazza a határértékeket is) Számokra, dátumokra és szövegekre is használható. Szövegeknél az összehasonlítás ABC sorrend szerint történik
  • IN
  • LIKE

A LIKE operátor a MySQL-ben mintázatkeresésre szolgál, és a wildcard karakterek segítségével rugalmas szűrést tesz lehetővé.

% – Tetszőleges számú karakter
_ – Pontosan egy karakter

LIKE ‘A%’ → A-val kezdődő
NOT LIKE ‘A%’ → Nem A-val kezdődő

a LIKE alapértelmezetten nem érzékeny kis- és nagybetűre MySQL-ben (kivéve ha a collation case-sensitive).

Az IS NULL és IS NOT NULL MySQL-ben arra szolgál, hogy ellenőrizzük, egy oszlop értéke NULL-e vagy sem. Ez fontos, mert a NULL nem egyenlő 0-val, üres stringgel vagy FALSE-szal, hanem azt jelenti: „nincs érték”

DISTINCT – Egyedi értékek lekérdezése, a SELECT után kell megadni. A megadott oszlop(ok) alapján csak egyszer jelenik meg minden egyedi érték

CASE – feltételes logika, hasonlóan működik, mint az if-else szerkezet. Akár SELECT-ben, akár WHERE-ben, akár ORDER BY-ban is használható.

Adatmódosító parancsok

INSERT – Új sor beszúrása

UPDATE – Sor módosítása

DELETE – Sor törlése. WHERE nélkül minden sor törlődik a táblából!

Függvények a MySQL-ben

Aggregáló függvények

Az aggregáló függvények MySQL-ben olyan beépített függvények, amelyek több sorból egyetlen összesített értéket számolnak ki. Ezeket leggyakrabban GROUP BY-val együtt használjuk, de sima lekérdezésben is előfordulhatnak.

COUNT() – Sorok száma.

  • COUNT(*) → minden sort számol
  • COUNT(oszlop) → csak nem NULL értékeket számol, ezért szokuk általában az elsődleges kulcsot megadni

SUM() – Összeg
AVG() – Átlag
MIN(), MAX() – Minimum, maximum

GROUP BY – Csoportosítás
HAVING – Feltétel csoportosított adatokra. A WHERE pedig sorokra vonatkozó feltétel!

Aggregáló függvények nem használhatók közvetlenül WHERE-ben, csak HAVING-ben!
Ha nincs GROUP BY, az egész tábla egyetlen csoportnak számít.

Gyakran használunk aliasokat (AS) a jobb átláthatóság miatt.

Karakterlánc kezelő függvények

A programozás órán már megismert függvényekhez hasonlóan, ezek a függvények is szöveges adatokon hajtanak végre műveleteket (átalakítás, manipuláció, keresés).

LOWER(szoveg)Az összes nagybetűt kisbetűvé alakítja. Alapvető a kis- és nagybetű érzéketlen összehasonlításhoz.
UPPER(szoveg)Az összes kisbetűt nagybetűvé alakítja.
CONCAT(szoveg1, szoveg2, …)Összefűz két vagy több karakterláncot.
SUBSTRING(szoveg, kezdet, hossz)Kivág egy részt a karakterláncból a megadott kezdőpozíciótól a megadott hosszúságban.
LENGTH(szoveg)Visszaadja a karakterlánc hosszát (karakterek számát).
TRIM(szoveg)Eltávolítja a kezdő és záró szóközöket (vagy más megadott karaktereket) a karakterlánc két végéről.

Matematikai függvények

Ezek a függvények számokkal végeznek matematikai műveleteket.

ROUND(szam, tizedes)Kerekíti a számot a megadott tizedesjegyre.
CEIL(szam) vagy CEILING(szam)A számot felfelé kerekíti a legközelebbi egész számra.
FLOOR(szam)A számot lefelé kerekíti a legközelebbi egész számra
ABS(szam)Visszaadja a szám abszolút értékét (előjel nélkül).
POWER(alap, kitevo)Hatványozást végez.

Dátum és idő függvények

Ezek a függvények dátum- és időértékekkel dolgoznak.

Aktuális dátum és idő

NOW()Visszaadja az aktuális rendszerdátumot és időt, dátum/idő formátumban.
CURDATE()Visszaadja az aktuális dátumot, dátum formátumban.
CURTIME()Visszaadja az aktuális időt, idő formátumban.
SYSDATE()Ugyanaz, mint a NOW(), de frissül, ha egy lekérdezés sokáig fut.

Dátum kinyerése

YEAR(datum)Visszaadja az évet.
MONTH(datum)Visszaadja a hónap számát (1-12)
DAY(datum) / DAYOFMONTH(datum)Visszaadja a nap számát a hónapban (1-31).
WEEK(datum)Visszaadja a hét számát az évben.
DAYOFWEEK(datum)Visszaadja a nap számát a hétben (1=Vasárnap, 7=Szombat)
HOUR(idop), MINUTE(idop), SECOND(idop)Visszaadja az óra, perc, vagy másodperc részét.
MONTHNAME(datum)Visszaadja a hónap nevét (angolul).

Dátum és Idő Számítások

DATE_ADD(datum, INTERVAL ertek egyseg)Hozzáad egy meghatározott intervallumot egy dátumhoz.
DATE_SUB(datum, INTERVAL ertek egyseg)Kivon egy meghatározott intervallumot egy dátumból.
DATEDIFF(datum1, datum2)Két dátum közötti különbséget adja vissza napokban.
TIMEDIFF(ido1, ido2)Két időpont közötti különbséget adja vissza TIME formátumban.
TIMESTAMPDIFF(egyseg, ido1, ido2)Két időpont közötti különbséget adja vissza egy megadott egységben (pl. MINUTE, HOUR, YEAR).

Formázó karakterek:

%Y Év négy számjeggyel 2025
%m Hónap szám (01-12) 11
%d Nap szám (01-31) 26
%H Óra 24 órás formátumban (00-23) 20
%i Perc (00-59) 12
%s Másodperc (00-59) 39
%W Hét napjának neve (angol) Wednesday