vadnica-logo
Editor Moj Blog Moje storitve O projektu Telegram O meni O meni

MySQL Funkcije

Spoznajte najpomembnejše MySQL funkcije. Na tej strani boste našli pregled vseh ključnih funkcij, njihovo sintakso in praktične primere uporabe. Funkcije so razdeljene v različne kategorije glede na njihovo uporabo.

  • baza.sql
💡 SQL simulator, ki ga vidiš tukaj, je moje lastno delo, spisano v JavaScriptu — ne prava baza podatkov. Trudim se, da pokrije čim več primerov, a če se kdaj obnaša čudno, mu ne zaupaj slepo — primer raje preveri še lokalno. 🙂
PRIMER
REZULTAT

Stavek LIMIT

Poizvedba prikaže imena in priimke prvih 5 zaposlenih iz tabele. Stavek LIMIT 5 omeji rezultate na samo 5 zapisov.

SELECT ime,priimek FROM zaposleni LIMIT 5;

Stavek WHERE

Poizvedba izpiše ime, priimek in plačo vseh zaposlenih, ki delajo v oddelku "Proizvodnja". Stavek WHERE filtrira rezultate tako, da prikaže samo zaposlene iz tega določenega oddelka.

SELECT ime, priimek, placa FROM zaposleni WHERE oddelek = 'Proizvodnja';

Funkcija COUNT()

Poizvedba prešteje skupno število vseh zaposlenih v tabeli. Funkcija COUNT(*) vrne število vseh vrstic v tabeli.

SELECT COUNT(*) FROM zaposleni;

Uporaba DISTINCT

Poizvedba prešteje število različnih oddelkov v podjetju. Uporaba COUNT(DISTINCT oddelek) zagotavlja, da se vsak oddelek šteje samo enkrat, ne glede na to, koliko zaposlenih dela v posameznem oddelku.

SELECT COUNT(DISTINCT oddelek) FROM zaposleni;

Stavek ORDER BY

Poizvedba izpiše imena, priimke in plače vseh zaposlenih, razvrščene po plači od najvišje do najnižje. Stavek ORDER BY placa DESC razvrsti rezultate tako, da so najbolje plačani zaposleni prikazani prvi.

SELECT ime, priimek, placa 
FROM zaposleni 
ORDER BY placa DESC;

Povprečje

Poizvedba prikaže analizo podatkov po oddelkih. Za vsak oddelek izračuna število zaposlenih (s COUNT) in njihovo povprečno plačo (z AVG). Rezultati so združeni po oddelkih s pomočjo GROUP BY stavka.

SELECT oddelek, COUNT(*) as stevilo_zaposlenih, AVG(placa) as povprecna_placa
FROM zaposleni
GROUP BY oddelek;

MySQL Hitri pregled (Cheat Sheet) za funkcije

Funkcije v MySQL vam omogočajo izvajanje matematičnih izračunov, manipulacijo z besedilom, delo z datumi ter napredno logično preverjanje podatkov neposredno v vaši poizvedbi. Spodnja tabela ponuja celovit pregled najbolj uporabnih funkcij s primeri za vaš simulator.

Funkcija Opis Sintaksa (HTML) Primer v simulatorju
COUNT() Prešteje število vrstic, ki ustrezajo določenemu pogoju. COUNT(stolpec) SELECT COUNT(*) FROM zaposleni WHERE oddelek = 'Uprava';
SUM() Izračuna skupno vsoto številskih vrednosti v stolpcu. SUM(stolpec) SELECT SUM(placa) FROM zaposleni WHERE oddelek = 'Proizvodnja';
AVG() Izračuna povprečno vrednost številskega stolpca. AVG(stolpec) SELECT AVG(placa) FROM razvrscanje WHERE oddelek = 'Trgovina';
MIN() Vrne najmanjšo (minimalno) vrednost v stolpcu. MIN(stolpec) SELECT MIN(placa) FROM zaposleni;
MAX() Vrne največjo (maksimalno) vrednost v stolpcu. MAX(stolpec) SELECT MAX(starost) FROM prva;
GROUP_CONCAT() Združi vrednosti iz več vrstic v en sam tekstovni niz, ločen z vejico. GROUP_CONCAT(stolpec) SELECT GROUP_CONCAT(ime) FROM zaposleni GROUP BY oddelek;
CONCAT() Združi dva ali več tekstovnih nizov v enega. CONCAT(s1, s2, ...) SELECT CONCAT(ime, ' ', priimek) FROM zaposleni;
SUBSTRING() Izreže del besedila iz niza (od določene pozicije naprej). SUBSTRING(tekst, start, dolzina) SELECT SUBSTRING(ime, 1, 3) FROM prva;
TRIM() Odstrani odvečne prazne prostore (presledke) na začetku in koncu besedila. TRIM(tekst) SELECT TRIM(ime) FROM zaposleni;
UPPER() Pretvori vse črke v besedilu v VELIKE ČRKE. UPPER(tekst) SELECT UPPER(priimek) FROM zaposleni;
LOWER() Pretvori vse črke v besedilu v male črke. LOWER(tekst) SELECT LOWER(ime) FROM prva;
LENGTH() Vrne dolžino tekstovnega niza v bajtih/številu znakov. LENGTH(tekst) SELECT LENGTH(ime) FROM zaposleni;
REPLACE() Zamenja vse pojavitve določenega podniza z novim besedilom. REPLACE(t, stari, novi) SELECT REPLACE(oddelek, 'Prodaja', 'Marketing') FROM razvrscanje;
NOW() Vrne trenutni datum in čas za vsako vrstico. NOW() SELECT NOW(), datum_vnosa FROM datumi;
CURDATE() Vrne samo trenutni datum (brez ur in minut). CURDATE() SELECT CURDATE(), datum_vnosa FROM datumi;
CURTIME() Vrne samo trenutni čas (ure, minute, sekunde). CURTIME() SELECT CURTIME() FROM datumi;
DATE_FORMAT() Formatira izpis datuma glede na podano obliko (npr. slovenska oblika). DATE_FORMAT(datum, format) SELECT DATE_FORMAT(datum_vnosa, '%d.%m.%Y') FROM datumi;
DATE_ADD() Doda določen časovni interval (dni, mesece, leta) k datumu. DATE_ADD(d, INTERVAL x enota) SELECT datum_vnosa, DATE_ADD(datum_vnosa, INTERVAL 1 YEAR) FROM datumi;
DATE_SUB() Odšteje določen časovni interval od datuma. DATE_SUB(d, INTERVAL x enota) SELECT datum_vnosa, DATE_SUB(datum_vnosa, INTERVAL 1 MONTH) FROM datumi;
DATEDIFF() Izračuna število dni med dvema datumoma. DATEDIFF(d1, d2) SELECT DATEDIFF(CURDATE(), datum_vnosa) FROM datumi;
DAYNAME() Vrne ime dneva v tednu za določen datum (npr. Thursday). DAYNAME(datum) SELECT datum_vnosa, DAYNAME(datum_vnosa) FROM datumi;
ROUND() Zaokroži število na določeno število decimalnih mest. ROUND(število, decimale) SELECT ROUND(AVG(placa), 2) FROM zaposleni;
CEIL() Zaokroži število navzgor do najbližjega celega števila. CEIL(število) SELECT CEIL(15.15) FROM prva;
FLOOR() Zaokroži število navzdol do najbližjega celega števila. FLOOR(število) SELECT FLOOR(15.85) FROM prva;
ABS() Vrne absolutno (vedno pozitivno) vrednost števila. ABS(število) SELECT ABS(-250) FROM prva;
POWER() Potencira prvo število na vrednost drugega števila. POWER(osnova, eksponent) SELECT POWER(2, 3) FROM prva;
SQRT() Izračuna kvadratni koren števila. SQRT(število) SELECT SQRT(81) FROM prva;
IF() Vrne eno vrednost, če je pogoj resničen, in drugo, če je neresničen. IF(pogoj, da, ne) SELECT ime, IF(oddelek = 'Uprava', 'Vodja', 'Delavec') FROM zaposleni;
IFNULL() Vrne nadomestno vrednost, če je podatek v stolpcu enak NULL. IFNULL(stolpec, nadomestilo) SELECT ime, IFNULL(vrednost, 0) FROM null_tabela;
NULLIF() Vrne NULL, če sta dve podani vrednosti popolnoma enaki, drugače vrne prvo. NULLIF(v1, v2) SELECT NULLIF(oddelek, 'Trgovina') FROM razvrscanje;
COALESCE() Vrne prvo vrednost iz seznama, ki ni NULL. COALESCE(v1, v2, ...) SELECT COALESCE(vrednost, opomba, 'Ni podatka') FROM null_tabela;