logo

SQL-tietotyypit

Tietotyyppejä käytetään edustamaan tietokantataulukkoon tallennettavien tietojen luonnetta. Esimerkiksi taulukon tietyssä sarakkeessa, jos haluamme tallentaa merkkijonotyyppisiä tietoja, meidän on ilmoitettava tämän sarakkeen merkkijonotietotyyppi.

ipconfig ubuntulle

Tietotyypit luokitellaan pääsääntöisesti kolmeen luokkaan jokaista tietokantaa varten.

  • Merkkijono Tietotyypit
  • Numeeriset tietotyypit
  • Päivämäärä ja aika Tietotyypit

Tietotyypit MySQL-, SQL Server- ja Oracle-tietokannoissa

MySQL-tietotyypit

Luettelo MySQL-tietokannassa käytetyistä tietotyypeistä. Tämä perustuu MySQL 8.0:aan.

MySQL-merkkijonotietotyypit

CHAR (koko) Sitä käytetään määrittämään kiinteäpituinen merkkijono, joka voi sisältää numeroita, kirjaimia ja erikoismerkkejä. Sen koko voi olla 0 - 255 merkkiä. Oletusarvo on 1.
VARCHAR (koko) Sitä käytetään määrittämään muuttuvapituinen merkkijono, joka voi sisältää numeroita, kirjaimia ja erikoismerkkejä. Sen koko voi olla 0 - 65535 merkkiä.
BINARY (koko) Se on yhtä suuri kuin CHAR(), mutta se tallentaa binääriset tavumerkkijonot. Sen kokoparametri määrittää sarakkeen pituuden tavuina. Oletusarvo on 1.
VARBINARY (koko) Se on yhtä suuri kuin VARCHAR(), mutta se tallentaa binääriset tavumerkkijonot. Sen kokoparametri määrittää sarakkeen enimmäispituuden tavuina.
Tekstin koko) Se sisältää merkkijonon, joka voi sisältää enintään 255 merkkiä.
TINYTEKSTI Se sisältää merkkijonon, jonka enimmäispituus on 255 merkkiä.
MEDIUMTEXT Siinä on merkkijono, jonka enimmäispituus on 16 777 215.
PITKÄ TEKSTI Se sisältää merkkijonon, jonka enimmäispituus on 4 294 967 295 merkkiä.
ENUM(arvo1, arvo2, arvo3,...) Sitä käytetään, kun merkkijonoobjektilla on vain yksi arvo valittuna mahdollisten arvojen luettelosta. Se sisältää 65535 arvoa ENUM-luettelossa. Jos lisäät arvon, jota ei ole luettelossa, tyhjä arvo lisätään.
SET(arvo1,arvo2,arvo3,...) Sitä käytetään määrittämään merkkijono, jossa voi olla 0 tai useampia arvoja, jotka valitaan mahdollisten arvojen luettelosta. Voit listata enintään 64 arvoa kerralla SET-luetteloon.
BLOB (koko) Sitä käytetään BLOB-objekteihin (Binary Large Objects). Se voi sisältää jopa 65 535 tavua.

MySQL:n numeeriset tietotyypit

BITTI (koko) Sitä käytetään bittiarvotyypille. Bittien määrä arvoa kohden on määritelty koossa. Sen koko voi olla 1–64. Oletusarvo on 1.
INT(koko) Sitä käytetään kokonaislukuarvona. Sen etumerkitty alue vaihtelee välillä -2147483648 - 2147483647 ja etumerkitön alue välillä 0 - 4294967295. Koko-parametri määrittää näytön enimmäisleveyden, joka on 255.
INTEGER(koko) Se on yhtä suuri kuin INT(koko).
FLOAT(koko, d) Sitä käytetään määrittämään liukuluku. Sen kokoparametri määrittää numeroiden kokonaismäärän. Desimaalipilkun jälkeisten numeroiden määrä määritellään d parametri.
FLOAT(p) Sitä käytetään määrittämään liukuluku. MySQL käytti p-parametria määrittääkseen, käytetäänkö FLOAT vai DOUBLE. Jos p on välillä 0 - 24, tietotyypiksi tulee FLOAT (). Jos p on 25-53, tietotyypiksi tulee DOUBLE().
DOUBLE(koko, d) Se on normaalikokoinen liukuluku. Sen kokoparametri määrittää numeroiden kokonaismäärän. Desimaalien jälkeisten numeroiden lukumäärä määritetään parametrilla d.
DESIMAALI(koko, d) Sitä käytetään kiinteän pisteen numeron määrittämiseen. Sen kokoparametri määrittää numeroiden kokonaismäärän. Desimaaliparametrin jälkeisten numeroiden määrä on määritetty d parametri. Koon enimmäisarvo on 65 ja oletusarvo on 10. Suurin arvo on d on 30 ja oletusarvo on 0.
DEC(koko, d) Se on yhtä suuri kuin DECIMAL(koko, d).
BOOL Sitä käytetään määrittämään Boolen arvot true ja false. Nollaa pidetään vääränä, ja nollasta poikkeavia arvoja pidetään tosiina.

MySQL:n päivämäärä- ja aikatietotyypit

merkkijono split bash
PÄIVÄMÄÄRÄ Sitä käytetään päivämäärämuodon määrittämiseen VVVV-KK-PP. Sen tuettu alue on '1000-01-01' ja '9999-12-31'.
DATETIME (fsp) Sitä käytetään päivämäärän ja kellonajan yhdistelmän määrittämiseen. Sen muoto on VVVV-KK-PP tt:mm:ss. Sen tuettu alue on 1000-01-01 00:00:00 - 9999-12-31 23:59:59.
AIKALEIMA (fsp) Sitä käytetään aikaleiman määrittämiseen. Sen arvo on tallennettu sekuntien lukumääränä Unix-epochista ('1970-01-01 00:00:00' UTC). Sen muoto on VVVV-KK-PP tt:mm:ss. Sen tuettu alue on '1970-01-01 00:00:01' UTC - '2038-01-09 03:14:07' UTC.
AIKA (fsp) Sitä käytetään ajan muodon määrittämiseen. Sen muoto on hh:mm:ss. Sen tuettu alue on '-838:59:59' - '838:59:59'
VUOSI Sitä käytetään vuoden määrittämiseen nelinumeroisessa muodossa. Sallitut arvot nelinumeroisessa muodossa 1901–2155 ja 0000.

SQL Server -tietotyypit

SQL Server -merkkijonotietotyyppi

merkki(n) Se on kiinteän levyisen merkkijonon tietotyyppi. Sen koko voi olla jopa 8000 merkkiä.
varchar(n) Se on muuttuvan levyisen merkkijonon tietotyyppi. Sen koko voi olla jopa 8000 merkkiä.
varchar (max) Se on muuttuvan levyisen merkkijonon tietotyyppejä. Sen koko voi olla enintään 1 073 741 824 merkkiä.
teksti Se on muuttuvan levyisen merkkijonon tietotyyppi. Sen koko voi olla jopa 2 Gt tekstidataa.
nchar Se on kiinteäleveä Unicode-merkkijonotietotyyppi. Sen koko voi olla jopa 4000 merkkiä.
nvarchar Se on muuttuvan levyinen Unicode-merkkijonotietotyyppi. Sen koko voi olla jopa 4000 merkkiä.
ntext Se on muuttuvan levyinen Unicode-merkkijonotietotyyppi. Sen koko voi olla jopa 2 Gt tekstidataa.
binääri(n) Se on kiinteäleveä binaarimerkkijonotietotyyppi. Sen koko voi olla jopa 8000 tavua.
varbinaarinen Se on muuttuvan levyinen binaarimerkkijonotietotyyppi. Sen koko voi olla jopa 8000 tavua.
kuva Se on myös muuttuvan levyinen binaarimerkkijonotietotyyppi. Sen koko voi olla jopa 2 Gt.

SQL Serverin numeeriset tietotyypit

bitti Se on kokonaisluku, joka voi olla 0, 1 tai nolla.
pikkuinen Se sallii kokonaisluvut 0-255.
Smallint Se sallii kokonaislukuja välillä -32 768 ja 32 767.
Int Se sallii kokonaisluvut välillä -2 147 483 648 ja 2 147 483 647.
bigint Se sallii kokonaisluvut välillä -9,223,372,036,854,775,808 ja 9,223,372,036,854,775,807.
kellua (n) Sitä käytetään kelluvien tarkkuuslukutietojen määrittämiseen välillä -1,79E+308 - 1,79E+308. Parametri n osoittaa, pitäisikö kentässä olla 4 vai 8 tavua. N:n oletusarvo on 53.
todellinen Se on kelluva tarkkuuslukudata -3,40E+38 - 3,40E+38.
raha Sitä käytetään rahatietojen määrittämiseen välillä -922,337,233,685,477.5808 - 922,337,203,685,477.5807.

SQL-palvelimen päivämäärä- ja aikatietotyyppi

chown komento
treffiaika Sitä käytetään päivämäärän ja kellonajan yhdistelmän määrittämiseen. Se tukee 1. tammikuuta 1753 ja 31. joulukuuta 9999 välisenä aikana 3,33 millisekunnin tarkkuudella.
päivämääräaika 2 Sitä käytetään päivämäärän ja kellonajan yhdistelmän määrittämiseen. Se tukee aluetta 1.1.0001-31.12.9999 100 nanosekunnin tarkkuudella
Päivämäärä Sitä käytetään vain päivämäärän tallentamiseen. Se tukee 1. tammikuuta 0001 ja 31. joulukuuta 9999 välisenä aikana
aika Se tallentaa ajan vain 100 nanosekunnin tarkkuudella
aikaleima Se tallentaa yksilöllisen numeron, kun uusi rivi luodaan tai sitä muutetaan. Aikaleiman arvo perustuu sisäiseen kelloon, eikä se vastaa reaaliaikaa. Jokainen taulukko voi sisältää vain kertaluonteisen leimamuuttujan.

SQL Server Muut tietotyypit

Sql_variant Sitä käytetään useille tietotyypeille paitsi tekstille, aikaleimalle ja ntextille. Se tallentaa jopa 8000 tavua tietoa.
XML Se tallentaa XML-muotoista tietoa. Enintään 2GB.
kohdistin Se tallentaa viittauksen tietokantatoimintoihin käytettävään kursoriin.
pöytä Se tallentaa tulosjoukon myöhempää käsittelyä varten.
yksilöllinen tunniste Se tallentaa GUID-tunnuksen (Globally yksilöllinen tunniste).

Oracle-tietotyypit

Oracle String -tietotyypit

CHAR(koko) Sitä käytetään merkkitietojen tallentamiseen ennalta määritetyn pituuden sisällä. Se voidaan tallentaa jopa 2000 tavua.
NCHAR(koko) Sitä käytetään kansallisten merkkitietojen tallentamiseen ennalta määritetyn pituuden sisällä. Se voidaan tallentaa jopa 2000 tavua.
VARCHAR2 (koko) Sitä käytetään muuttuvien merkkijonotietojen tallentamiseen ennalta määritetyn pituuden sisällä. Se voidaan tallentaa jopa 4000 tavua.
VARCHAR (KOKO) Se on sama kuin VARCHAR2(koko). Voit myös käyttää VARCHAR(koko), mutta on suositeltavaa käyttää VARCHAR2(koko)
NVARCHAR2 (koko) Sitä käytetään Unicode-merkkijonotietojen tallentamiseen ennalta määritetyn pituuden sisällä. Meidän on määritettävä NVARCHAR2-tietotyypin koko. Se voidaan tallentaa jopa 4000 tavua.

Oraclen numeeriset tietotyypit

NUMBER (p, s) Se sisältää tarkkuuden p ja asteikon s. Tarkkuus p voi vaihdella välillä 1 - 38 ja asteikko s -84 - 127.
FLOAT(p) Se on NUMBER tietotyypin alatyyppi. Tarkkuus p voi vaihdella välillä 1-126.
BINARY_FLOAT Sitä käytetään binääritarkkuuteen (32-bittinen). Se vaatii 5 tavua, mukaan lukien pituustavu.
BINARY_DOUBLE Sitä käytetään kaksinkertaiseen binaaritarkkuuteen (64-bittinen). Se vaatii 9 tavua, mukaan lukien pituustavu.

Oraclen päivämäärä- ja aikatietotyypit

PÄIVÄMÄÄRÄ Sitä käytetään kelvollisen päivämäärän ja ajan muodon tallentamiseen kiinteällä pituudella. Sen levinneisyysalue vaihtelee 1. tammikuuta 4712 eKr. ja 31. joulukuuta 9999 jKr.
AIKALEIMA Sitä käytetään kelvollisen päivämäärän tallentamiseen VVVV-KK-PP muodossa aika tt:mm:ss.

Oracle Large Object -tietotyypit (LOB-tyypit)

MÖYKKY Sitä käytetään määrittelemään strukturoimatonta binaaridataa. Sen alue nousee jopa 2:een32-1 tavua tai 4 Gt.
BFILE Sitä käytetään binääritietojen tallentamiseen ulkoiseen tiedostoon. Sen alue nousee jopa 2:een32-1 tavua tai 4 Gt.
CLOB Sitä käytetään yksitavuisiin merkkitietoihin. Sen alue nousee jopa 2:een32-1 tavua tai 4 Gt.
NCLOB Sitä käytetään yksitavuisten tai kiinteäpituisten monitavuisten kansallisten merkistöjen (NCHAR) tietojen määrittämiseen. Sen kantama on jopa 232-1 tavua tai 4 Gt.
RAW(koko) Sitä käytetään määrittämään muuttuvapituisia raakabinääritietoja. Sen alue on jopa 2000 tavua riviä kohden. Sen enimmäiskoko on määritettävä.
PITKÄ RAAA Sitä käytetään määrittämään muuttuvapituisia raakabinääritietoja. Sen alue jopa 231-1 tavua tai 2 Gt per rivi.