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

MySQL Podatkovni Tipi

Vsak stolpec v tabeli zbirke podatkov mora imeti ime in podatkovni tip. Podatkovni tip je vodilo za MySQL, da razume, kakšen tip podatkov se pričakuje v posameznem stolpcu, in tudi določa, kako bo SQL deloval s shranjenimi podatki. V MySQL obstajajo štiri glavne kategorije tipov podatkov: nizi, številski tipi, datumi s časi in binarni podatki.

  • 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

Podatkovni tipi v MySQL so ključni pri ustvarjanju tabel, saj določajo vrsto podatkov, ki jih lahko shranjujemo v posamezne stolpce. Ko uporabljamo CREATE TABLE, moramo za vsak stolpec določiti ustrezen podatkovni tip. V zgornjem primeru je prikazana izdelava tabele z različnimi podatkovnimi tipi. Ko kliknete na gumb"Zaženi kodo", se v tem primeru ne bo zgodilo nič, saj je to samo demonstracijski primer strukture tabele. V pravi podatkovni bazi bi ta ukaz ustvaril novo tabelo z imenom "uporabniki" in vsemi definiranimi stolpci.

Vsak stolpec v tabeli ima:

  1. ime stolpca (npr. "id", "ime", "email")
  2. podatkovni tip (npr. INT, VARCHAR, DATE)
  3. neobvezne lastnosti (npr. NOT NULL, UNIQUE, AUTO_INCREMENT)

Ta primer prikazuje najpogosteje uporabljene podatkovne tipe:

  1. INT za cele številke.
  2. VARCHAR za besedilo spremenljive dolžine.
  3. DATE za datume.
  4. TIMESTAMP za časovne žige.
  5. DECIMAL za decimalna števila.
  6. BINARY za binarne podatke.
  7. SET za množice vrednosti.
  8. ENUM za naštevne tipe.

MySQL Hitri pregled (Cheat Sheet) za podatkovne tipe

💡 NAMIG ZA SIMULATOR: V našem simulatorju lahko preizkusite ukaz CREATE TABLE z uporabo spodnjih podatkovnih tipov! Simulator bo preveril vašo sintakso in vam vrnil potrditveno sporočilo o uspešno ustvarjeni tabeli ter njenih omejitvah. Ta tabela vam služi kot priročnik, da ugotovite, kateri tip je najbolj primeren za vaše stolpce.

Podatkovni tipi v MySQL določajo, kakšne vrste podatkov (besedilo, številke, datumi, binarni podatki) se lahko shranijo v posamezen stolpec baze. Pravilna izbira tipa optimizira hitrost delovanja in porabo spomina.

Podatkovni tip Opis in velikost Sintaksa (HTML) Primer uporabe
CHAR(velikost) Tekst fiksne dolžine (od 0 do 255 znakov). Če je tekst krajši, MySQL doda presledke. CHAR(dolzina) drzava CHAR(2) (npr. 'SI')
VARCHAR(velikost) Tekst spremenljive dolžine (od 0 do 65.535 znakov). Najbolj popularen tekstovni tip. VARCHAR(max_dolzina) ime VARCHAR(50) (v tabeli zaposleni)
TINYTEXT Zelo kratek tekstovni niz (največ 255 znakov / bajtov). TINYTEXT kratek_opis TINYTEXT
TEXT Standardni tekstovni niz za daljša besedila (največ 65.535 znakov / 64 KB). TEXT opomba TEXT (v tabeli null_tabela)
MEDIUMTEXT Srednje dolg tekstovni niz (največ 16.777.215 znakov / 16 MB). MEDIUMTEXT vsebina_clanka MEDIUMTEXT
LONGTEXT Izjemno dolg tekstovni niz (največ 4.294.967.295 znakov / 4 GB). LONGTEXT celotna_knjiga LONGTEXT
ENUM Tekstovni objekt, ki lahko vsebuje le eno vrednost iz vnaprej določenega seznama. ENUM('v1', 'v2', ...) oddelek ENUM('Uprava', 'Prodaja', 'Trgovina')
SET Tekstovni objekt, ki lahko vsebuje nič, eno ali več vrednosti iz vnaprej določenega seznama. SET('v1', 'v2', ...) hobiji SET('Sport', 'Koda', 'Glasba')
BINARY(velikost) Binarni niz fiksne dolžine (v bajtih). Podobno kot CHAR, ampak za bajte. BINARY(velikost) kljuc BINARY(16)
VARBINARY(velikost) Binarni niz spremenljive dolžine (v bajtih). Podobno kot VARCHAR. VARBINARY(velikost) geslo_hash VARBINARY(64)
TINYBLOB Zelo majhen binarni objekt (BLOB) za slike ali datoteke (največ 255 bajtov). TINYBLOB majhna_ikona TINYBLOB
BLOB Standardni binarni veliki objekt za shranjevanje slik, zvoka ali datotek (največ 65 KB). BLOB slika_zaposlenega BLOB
MEDIUMBLOB Srednje velik binarni objekt (največ 16 MB). MEDIUMBLOB video_posnetek MEDIUMBLOB
LONGBLOB Izjemno velik binarni objekt za ogromne datoteke (največ 4 GB). LONGBLOB arhiv_datoteke LONGBLOB
BIT(velikost) Tip za shranjevanje bitnih vrednosti (od 1 do 64 bitov). BIT(velikost) status_biti BIT(8)
TINYINT Zelo majhno celo število. Razpon od -128 do 127 (oz. od 0 do 255 za UNSIGNED). TINYINT ocena TINYINT (npr. ocene od 1 do 5)
BOOL / BOOLEAN Logična vrednost. Ničla (0) velja za FALSE, vse ostalo (ponavadi 1) pa za TRUE. BOOLEAN je_aktiven BOOLEAN
SMALLINT Majhno celo število. Razpon od -32.768 do 32.767. SMALLINT leto_rojstva SMALLINT
MEDIUMINT Srednje celo število. Razpon od -8.388.608 do 8.388.607. MEDIUMINT postna_stevilka MEDIUMINT
INT / INTEGER Standardno celo število. Najbolj pogost tip za ID-je (razpon cca. +-2 milijardi). INT id INT (v tabeli zaposleni)
BIGINT Veliko celo število. Uporablja se, ko navaden INT postane premajhen. BIGINT obisk_strani BIGINT
FLOAT Število s plavajočo vejico z enojno natančnostjo (zasede manj prostora). FLOAT koeficient FLOAT
DOUBLE Število s plavajočo vejico z dvojno natančnostjo (večja natančnost kot FLOAT). DOUBLE razdalja DOUBLE
DECIMAL(size, d) Natančno število s fiksno vejico. Idealno za denar in finance, kjer ne sme priti do zaokroževanja. DECIMAL(skupaj_mest, decimale) placa DECIMAL(10, 2) (npr. 2450.50)
DATE Shranjuje samo datum v obliki LLLL-MM-DD. Razpon od '1000-01-01' do '9999-12-31'. DATE datum_zaposlitve DATE
TIME Shranjuje samo čas v obliki hh:mm:ss. TIME ura_prihoda TIME
DATETIME Kombinacija datuma in časa v obliki LLLL-MM-DD hh:mm:ss. DATETIME ustvarjeno_dne DATETIME
TIMESTAMP Časovni žig, ki shranjuje sekunde od leta 1970. Avtomatsko se posodobi ob spremembi vrstice. TIMESTAMP zadnja_sprememba TIMESTAMP
YEAR Shranjuje leto v 4-mestni obliki (razpon od 1901 do 2155). YEAR leto_proizvodnje YEAR