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.
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:
Ta primer prikazuje najpogosteje uporabljene 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 |