Taulukko numeerisista tietotyypeistä. SQL-kieli Tietotyypit SQL-tietotyypit. Numeeriset tietotyypit

SQL-tietotyypit jaetaan kolmeen ryhmään:
merkkijono;
liukuluku (murtolukuja);
kokonaislukuja, Päivämäärä Ja aika.

  1. SQL-tietotyypit merkkijono
    SQL-tietotyypit Kuvaus
    CHAR(koko) Kiinteäpituiset merkkijonot (voivat sisältää kirjaimia, numeroita ja erikoismerkkejä). Kiinteä koko on ilmoitettu suluissa. Enintään 255 merkkiä voidaan tallentaa
    VARCHAR (koko)
    TINYTEKSTI Voi tallentaa enintään 255 merkkiä.
    TEKSTI
    MÖYKKY Voi tallentaa enintään 65 535 merkkiä.
    MEDIUMTEXT
    MEDIUMBLOB Voi tallentaa enintään 16 777 215 merkkiä.
    PITKÄ TEKSTI
    LONGBLOB Voi tallentaa enintään 4 294 967 295 merkkiä.
    ENUM(x,y,z jne.) Mahdollistaa kelvollisten arvojen luettelon syöttämisen. Voit syöttää enintään 65 535 arvoa SQL-tietotyyppi ENUM lista. Jos arvoa ei lisätessä ole luettelossa ENUM, niin saamme tyhjän arvon.
    Tulla sisään mahdollisia arvoja voi olla tässä muodossa: ENUM ("X", "Y", "Z")
    ASETA SQL-tietotyyppi SET muistuttaa ENUM paitsi että ASETA voi sisältää enintään 64 arvoa.
  2. SQL-tietotyypit liukuluku (murtoluvut) ja kokonaisluvut
    SQL-tietotyypit Kuvaus
    TINYINT (koko) Voi tallentaa numeroita välillä -128 - 127
    PIENI (koko) Alue -32 768 - 32 767
    MEDIUMINT (koko) Alue -8 388 608 - 8 388 607
    INT(koko) Alue -2 147 483 648 - 2 147 483 647
    BIGINT(koko) Alue -9 223 372 036 854 775 808 - 9 223 372 036 854 775 807
    FLOAT(koko,d) Matala tarkkuus liukuluku.
    DOUBLE(koko,d) Kaksinkertainen tarkkuus liukuluku.
    DESIMAALI(koko,d) Merkkijonona tallennettu murtoluku.
  3. SQL-tietotyypit- Päivämäärä ja aika

MySQL-tietotyypit

Tyypit MySQL-tiedot jaetaan seuraaviin tyyppeihin:

  • Numeerinen tietotyypit
    Tietotyypit Tavu From Ennen
    TINYINT 1 -128 127
    PIENI 2 -32768 32767
    KESKIPÄINEN 3 -8388608 8388607
    INT 4 -2147483648 2147483647
    BIGINT 8 -9223372036854775808 9223372036854775807
  • Tietotyypit päivämäärä ja aika
  • Merkki Tietotyypit

Oracle-tietotyypit

Tyypit Oracle-tiedot

  • HIILTYÄ– kiinteät tekstijonot 2000 tavuun asti. Kirjoita arvo HIILTYÄ pehmustettu määrättyyn pituuteen välilyönneillä.
  • VARCHAR 2— tekstijonot, joiden pituus vaihtelee 4000 tavuun asti.
  • MÄÄRÄ— numeeriset tiedot.
  • DESIMAALI- numeeriset tiedot
  • PÄIVÄMÄÄRÄ- käytetään päivämäärien tallentamiseen.
  • RAAKA- käytetään tallentamaan binääritietoja 2000 tavuun asti.
  • PITKÄ- käytetään tallentamaan tekstidataa, jonka pituus on enintään 2 Gt
  • PITKÄ RAAA- käytetään binääritietojen tallentamiseen 2 Gt asti
  • ROWID- käytetään tunnisteiden tallentamiseen ROWID Tietokanta Oraakkeli erityisessä muodossa (taulukon riviosoitteet).
  • MÖYKKY- Jopa 4 Gt binaaridataa tallennetaan. Tämän tyyppiset tiedot tallennetaan taulukon ulkopuolelle, mutta taulukkoon Oraakkeli on vain osoittimia esineisiin
  • CLOB, NCLOB— jopa 4 Gt tekstidataa tallennetaan. NCLOB on tietotyyppi NLS suuri kiinteä pituus ( NLS tarkoittaa Kansallinen kielisarja– sarja kansallisille kielille – ja sitä käytetään työskentelyyn Oraakkeli muilla kielillä kuin englanniksi. Englannissa yhden merkin tallentamiseen tarvitaan 1 tavu, ja joissakin maailman kielissä, joissa on suuria merkistöjä (japani, kiina, korea), kielillä, joissa tekstiä luetaan oikealta vasemmalle (arabia, heprea) yhden merkin tallentamiseen tarvitaan useita tavuja). Tämän tyyppiset tiedot tallennetaan taulukon ulkopuolelle, ja taulukko sisältää vain osoittimia objekteihin.
  • BFILE- Jopa 4 Gt jäsentämätöntä tietoa tallennetaan tiedostoina käyttöjärjestelmä(ulkoiset tiedostot).

ANSI SQL standardi tunnistaa vain tekstin ja numeron, kun taas useimmat kaupalliset ohjelmat käyttävät muita erikoistyyppejä, kuten PÄIVÄMÄÄRÄ Ja AIKA- itse asiassa melkein vakiotyypit. Jotkut paketit tukevat myös tyyppejä, kuten RAHA Ja BINÄÄRI. Tietotyypit ANSI:n tunnistama, koostuu merkkijonoista ja erityyppisistä numeroista, jotka voidaan luokitella tarkka numerot ja likimääräisiä lukuja.

CHARACTER(pituus) määrittää merkkijonojen määrittelyn, jossa pituus määrittää tietyn tyyppisten merkkijonojen pituuden. Tämän tyyppiset arvot tulee laittaa lainausmerkkeihin. Useimmat toteutukset tukevat muuttuvan pituisia merkkijonoja tietotyypeille VARCHAR Ja PITKÄ VARCHAR(tai yksinkertaisesti PITKÄ).

Vaikka kenttä kuten HIILTYÄ voi aina varata muistia kenttään, kenttään tallennettavien merkkien enimmäismäärälle VARCHAR mikä tahansa määrä merkkejä voi varata vain tietyn määrän muistia kentän todellisen sisällön tallentamiseen, vaikka SQL voi asentaa joitain ylimääräistä tilaa muistin nykyisen kentän pituuden seurantaan. Ala VARCHAR voi olla minkä pituinen tahansa, mukaan lukien toteutuksen määrittämä maksimi. Tämä enimmäispituus voi vaihdella välillä 254 - 2048 merkkiä VARCHAR ja enintään 16 000 merkkiä PITKÄ. PITKÄ käytetään tyypillisesti selittävälle tekstille tai tiedoille, joita ei voida helposti pakata yksinkertaisiksi kenttäarvoiksi; VARCHAR voidaan käyttää mihin tahansa tekstimerkkijono, jonka pituus voi vaihdella.

Kenttien purkaminen ja muokkaaminen VARCHAR- monimutkaisempi ja siksi hitaampi prosessi kuin kenttien poimiminen ja muokkaaminen HIILTYÄ. Lisäksi vähän muistia VARCHAR jää aina käyttämättä, jotta varmistetaan, että merkkijono on koko pituudeltaan. Tällaisia ​​tyyppejä käytettäessä kenttiä pitäisi voida yhdistää muihin kenttiin.

Tarkat numeeriset tyypit ovat numeroita, desimaalipilkun kanssa tai ilman, jotka voidaan esittää muodossa [+|-]<целое без знака>[.<целое без знака>] ja määritetään seuraavasti:

DESIMAALI(tarkkuus [, asteikko])- kokoargumentissa on kaksi osaa: tarkkuus ja mittakaava. Mittakaava ei voi ylittää tarkkuutta. Tarkkuus osoittaa, kuinka monta merkitsevää numeroa luvussa on. Asteikko osoittaa enimmäismäärä numerot desimaalipilkun oikealla puolella. Scale = nolla tekee kentästä vastaavan kokonaislukua.

NUMERO(tarkkuus [, asteikko])- sama kuin DESIMAALI paitsi että suurin desimaali ei voi ylittää tarkkuusargumenttia

KOKONAISLUKU- luku ilman desimaalipistettä. Vastaava DESIMAALI, mutta ilman desimaalipilkun oikealla puolella olevia numeroita, ts. asteikko on 0. Koko-argumenttia ei käytetä (se asetetaan automaattisesti toteutuksesta riippuvaiseksi arvoksi).

PIENI- sama kuin KOKONAISLUKU, paitsi että toteutuksesta riippuen oletuskoko voi (tai ei) olla pienempi kuin KOKONAISLUKU.

Likimääräiset numeeriset tyypit ovat lukuja eksponentiaalisessa (kanta 10) merkinnässä, jotka esitetään muodossa <литеральное значение точного числа>E<целое со знаком> ja määritelty seuraavasti:

FLOAT[(tarkkuus)]- liukuluku. Koko-argumentti koostuu yhdestä numerosta, joka määrittää vähimmäistarkkuuden.

TODELLINEN- sama kuin KELLUA paitsi että kokoargumenttia ei käytetä. Tarkkuus on oletusarvoisesti asetettu toteutuskohtaiseksi.

KAKSI TARKKUUS- sama kuin TODELLINEN, paitsi että toteutuksen määrittelemä tarkkuus KAKSI TARKKUUS on ylitettävä toteutuksen määrittämä tarkkuus TODELLINEN.

Käytä tietotyyppejä

Tyypit Käytä tietoja jaetaan seuraaviin ryhmiin:

  • Teksti– enintään 255 tavua.
  • Muistio - jopa 64 000 tavua.
  • Numeerinen— 1,2,4 tai 8 tavua Numeeriselle tyypille kentän koko voi olla seuraavasti:
    • tavu— kokonaislukuja -0 - 255, vie 1 tavun tallennettaessa
    • koko- kokonaisluvut -32768 - 32767, vie 2 tavua
    • pitkä kokonaisluku- kokonaisluvut välillä -2147483648 - 2147483647, vie 4 tavua
    • liukuluku— numerot, joiden tarkkuudella on 6 numeroa -3,4*1038 - 3,4*1038, kestää 4 tavua
    • liukuluku- numerot tarkkuudella -1,797 * 10308 - 1,797 * 10308, vie 8 tavua
  • Treffiaika- 8 tavua
  • Raha- 8 tavua, tiedot rahamääristä, tallennettu 4 desimaalin tarkkuudella.
  • Laskuri on Accessin luoma ainutlaatuinen pitkä kokonaisluku, kun jokainen uusi merkintä- 4 tavua.
  • Looginen— looginen data 1 bitti.
  • OLE-objektikenttä– jopa 1 gigatavu, kuvia, kaavioita ja muita esineitä OLE sovelluksista Windows. Objektit OLE voi olla linkitetty tai upotettu.
  • Hyperlinkit— kenttä, johon hyperlinkkejä on tallennettu. Hyperlinkki voi olla kumman tahansa tyyppinen UNC (vakiomuoto määrittää polun, joka sisältää verkkotiedostopalvelimen) tai URL-osoitteen (objektin, asiakirjan, sivun tai muun tyyppisen objektin osoite Internetissä tai intranetissä. URL-osoite määrittää pääsyprotokollan ja kohdeosoitteen).
  • Korvausvelho— kenttä, jonka avulla voit valita arvon toisesta taulukosta Pääset tai arvoluettelosta yhdistelmäruudun avulla. Useimmiten käytetään avainkentille. On saman kokoinen kuin pääavain, joka on myös jokerimerkkikenttä, yleensä 4 tavua. ( Pääavain– yksi tai useampi kenttä, jonka arvojen yhdistelmä tunnistaa yksilöllisesti jokaisen taulukon tietueen Pääset. Ei salli undefined.Null. arvoilla on aina oltava yksilöllinen indeksi. Linkitä taulukko muiden taulukoiden toissijaisiin avaimiin).

SQL Server -tietotyypit

Microsoft SQL Server SQL 2003. Myös SQL Server tukee ylimääräistä tietotyypit, jota käytetään yksilöimään tietorivejä taulukossa ja useissa palvelimissa, kuten UNIQUEIDENTIFIER , joka on yhdenmukainen Microsoftin "leveys-ensimmäisenä" laitteistofilosofian kanssa (eli tietokannan käyttöönotto useissa palvelimissa Intelin alustat), sen sijaan, että "kasvaisi korkeutta" (eli toteutus yhdellä valtavalla tehokkaalla UNIX-palvelimella tai Windows Data Center Serverillä).

Tietotyypit käytetään SQL Serverissä:

  • BIGINT ( tietotyyppi SQL2003: B1GINT)
    Tallentaa etumerkityt ja etumerkitmättömät kokonaisluvut välillä -9 223 372 036 854 775 808 - 9 223 372 036 854 775 807. Varaa 8 tavua. Katso INT-tyyppi IDENTITY-ominaisuussäännöille, jotka koskevat myös BIGINT-tyyppiä.
  • BINARY[(n)] ( tietotyyppi SQL2003: BLOB)
    Tallentaa kiinteän pituisen binaariarvon 1 - 8000 tavua. BINAARINEN arvo vie n + 4 tavua.
  • BIT ( tietotyyppi SQL2003: BOOLEAN)
    Tallentaa arvot 1, 0 tai NULL, joka tarkoittaa "tuntematon". Yksi tavu voi tallentaa jopa 8 arvoa BIT-taulukkotyypin sarakkeista. Yhdelle tavulle mahtuu vielä 8 BIT-saraketta, jota ei voida indeksoida.
  • CHARACTER[(n)] , CHARACTER[(n)] ( tietotyyppi SQL2003: CHARACTER[(n)])
    Tallentaa kiinteäpituisia merkkitietoja 1 - 8000 merkkiä. Käyttämätön tila täytetään oletusarvoisesti välilyönneillä. (Automaattinen täyttö voidaan poistaa käytöstä.) Tyyppi vie n tavua.
  • KURSORI ( tietotyyppi SQL2003: puuttuu)
    Erityinen tietotyyppi, jota käytetään kuvaamaan kohdistinta muuttujan tai tallennetun toimintoparametrin OUTPUT muodossa. Tyyppiä ei voi käyttää CREATE TABLE -käskyssä. CURSOR-tyyppi voi olla NULL.
  • DATETIME (SQL2003-tietotyyppi: TIMESTAMP)
    Tallentaa päivämäärän ja kellonajan arvon välillä 01-01-1753 00:00:00 - 31-12-9999 23:59:59. Tallennus vaatii 8 tavua.
  • DECIMAL (p. s) , DEC (p. s) , NUMERO (p, s) ( tietotyyppi SQL2003: DECIMAL (p, s) , NUMERO (p. s))
    Tallentaa enintään 38 numeroa pitkät desimaalit. P- ja s-arvot määrittävät tarkkuuden ja mittakaavan. Oletusasteikko on 0. Arvon viemä tila määräytyy käytetyn tarkkuuden mukaan.
    Tarkkuudessa 1-9 käytetään 5 tavua.
    Tarkkuudella 10-19 käytetään 9 tavua.
    Tarkkuudella 20-28 käytetään 13 tavua.
    Tarkkuudella 29-39 käytetään 17 tavua.
    Katso INT-tyyppi IDENTITY-ominaisuussäännöille, jotka koskevat myös DECIMAL-tyyppiä.
  • KAKSI TARKKUUS ( tietotyyppi SQL2003: puuttuu)
    Synonyymi sanalle FLOAT(53) .
  • FLOAT[(n)] ( tietotyyppi SQL2003: FLOAT, FLOAT(n))
    Tallentaa liukulukuarvot välillä -1,79E + 308 - 1,79E + 308. Parametrilla ja määritetty tarkkuus voi vaihdella välillä 1 - 53. 7 numeron (n - 1 - 24) tallentamiseen tarvitaan 4 tavua. Arvot, jotka ovat suuremmat kuin 7 numeroa, vievät 8 tavua.
  • KUVA ( tietotyyppi SQL2003: BLOB)
    Tallentaa binääriarvon, jonka pituus vaihtelee 2 147 483 647 tavuun asti. Tätä tietotyyppiä käytetään usein grafiikan, äänen ja tiedostojen, kuten MS Word -asiakirjojen ja MS Excel -laskentataulukoiden, tallentamiseen. IMAGE-tyypin arvoja ei voi vapaasti manipuloida. IMAGE- ja TEXT-sarakkeilla on monia rajoituksia niiden käytölle. Katso TEKSTI-tyypin kuvauksesta luettelo komennoista ja toiminnoista, jotka koskevat myös IMAGE-tyyppiä.
  • INT (tietotyyppi SQL2003: INTEGER)
    Tallentaa etumerkityt tai etumerkitmättömät kokonaisluvut välillä -2 147 483 648 - 2 147 483 647. Varaa 4 tavua. Kaikki kokonaislukutietotyypit sekä tyypit, jotka tallentavat desimaalilukuja, tukevat IDENTITY-ominaisuutta, joka on automaattisesti lisätty rivitunniste. Katso luvun 3 kohtaa "LUO/MUUTTA TABLE-lauseke".
  • RAHA (tietotyyppi SQL2003: puuttuu)
    Tallentaa valuuttaarvot välillä -922337203685477.5808 - 922337203685477.5807. Arvo on 8 tavua.
  • NCHAR(n) , KANSALLINEN CHAR(n) , KANSALLINEN CHARACTER(n) ( tietotyyppi SQL2003: KANSALLINEN CHARACTER(n))
    Tallentaa kiinteäpituisia UNICODE-tietoja enintään 4000 merkistä. Tallennus vaatii n*2 tavua.
  • NTEKSTI, KANSALLINEN TEKSTI ( tietotyyppi SQL2003:NCLOB)
    Tallentaa tekstikatkelmia UNICODE-muodossa enintään 1 073 741 823 merkin pituiseksi. Katso TEKSTI-tyypin kuvauksesta luettelo komennoista ja funktioista, jotka koskevat myös NTEXT-tyyppiä.
  • NUMERO(p, s) ( tietotyyppi SQL2003: DECIMAL (p, s))
    Synonyymi DECIMAL-tyypille. Katso kuvaus kirjoita INT, joka sisältää IDENTITY-ominaisuuteen liittyvät säännöt.
  • NVARCHAR(n) , NATIONAL CHAR VARYING(n) , NATIONAL CHARACTER VARYING(n) ( tietotyyppi SQL2003: KANSALLINEN CHARACTER VARYING(n))
    Tallentaa UNICODE-tietoja, joiden pituus vaihtelee 4000 merkkiin asti.
    Vietetty tila lasketaan kaksinkertaiseksi kaikkien kenttään lisättyjen merkkien pituudeksi (merkkien määrä * 2).
    SQL Serverissä järjestelmäparametri SET ANSI_PADDINGX NCHAR- ja NVARCHAR-kentille on aina PÄÄLLÄ.
  • REAL , FLOAT(24) ( tietotyyppi SQL2003: REAL)
    Tallentaa liukulukuarvot välillä -3.40E+38 - 3.40E+38. Vie 4 tavua. REAL-tyyppi vastaa toiminnallisesti FLOAT(24)-tyyppiä.
  • ROWVERSION ( tietotyyppi SQL2003: puuttuu)
    Tietokantaan tallennettu yksilöllinen numero, joka päivitetään aina, kun riviä päivitetään ja jota kutsutaan aikaisemmissa versioissa TIMESTAMP.
  • SMALLDATETIME( tietotyyppi SQL2003: puuttuu)
    Tallentaa päivämäärän ja ajan minuutin tarkkuudella välillä '01-01-1900 00:00' ja '06-06-2079 23:59'. (Minuutit pyöristetään alaspäin, jos sekuntien arvo on 29,998 tai vähemmän, muuten ne pyöristetään ylöspäin.) Arvo vie 4 tavua.
  • PIENI ( tietotyyppi SQL2003: SMALLINT)
    Tallentaa etumerkityt tai etumerkitmättömät kokonaisluvut välillä -32 768 - 32 767. Varaa 2 tavua. Katso INT-tyypin kuvauksesta IDENTITY-ominaisuuteen liittyvät säännöt, jotka koskevat myös tätä tyyppiä.
  • PIENRAHA ( tietotyyppi SQL2003: puuttuu)
    Tallentaa valuuttaarvot välillä 214748.3648 - -214748.3647. Arvot vievät 4 tavua.
  • SQLVARIANT( tietotyyppi SQL2003: puuttuu)
    Tallentaa arvot, jotka liittyvät muihin SQL Serverin tukemiin tietotyyppeihin, pois lukien TEXT, NTEXT, ROWVERSION ja muut SQL VARIANT -arvot. Voi tallentaa jopa 8016 tavua tietoa, NULL- ja DEFAULT-arvoja tuetaan. SQL VARIANT -tyyppiä käytetään funktioiden ja tallennettujen toimintojen sarakkeissa, parametreissa, muuttujissa ja palautusarvoissa.
  • PÖYTÄ ( tietotyyppi SQL2003: puuttuu)
    Erikoistyyppi, joka tallentaa tuloksena olevan tietojoukon viimeisen prosessin tuloksena. Käytetään yksinomaan menettelylliseen käsittelyyn, eikä sitä voida käyttää LUO lausunnot PÖYTÄ. Tämä tietotyyppi vähentää tarvetta luoda väliaikaisia ​​taulukoita monissa sovelluksissa. Voi vähentää prosessien uudelleenkäännösten tarvetta, mikä nopeuttaa tallennettujen proseduurien ja käyttäjän määrittämien toimintojen suorittamista.
  • TEKSTI ( tietotyyppi SQL2003: CLOB)
    Tallentaa erittäin suuria tekstiä jopa 2 147 483 647 merkkiä pitkäksi. TECHNIC IMAGE -arvoja on usein paljon vaikeampi käsitellä kuin esimerkiksi VARCHAR-arvoja. Et voi esimerkiksi luoda hakemistoa sarakkeelle, jonka tyyppi on TEXT tai IMAGE. TEKSTI-arvoja voidaan käsitellä TIEDONANTO-, PATINDEKSI-, SUBSTRING-, TEXTPTR- ja TEXTVALID-funktioilla sekä READTEXT-, SET TEXTSIZE-, UPDATETEXT- ja WRITETEXT-komennoilla.
  • AIKALEIMA ( tietotyyppi SQL2003: TIMESTAMP)
    Kaupat luodaan automaattisesti binääriluku varmistaen ainutlaatuisuuden nykyinen tukikohta tiedot ja siksi eroavat ANSI TIMESTAMP -tietotyypistä. TIMESTAMP-tyyppi vie 8 tavua. Tällä hetkellä TIMESTAMP:n sijaan on parempi käyttää ROWVERSION-arvoja rivien yksilöimiseen.
  • TINYINT
    Tallentaa etumerkittömät kokonaisluvut välillä 0-255 ja vie 1 tavun. Katso INT-tyypin kuvauksesta IDENTITY-ominaisuuteen liittyvät säännöt, jotka koskevat myös tätä tyyppiä.
  • YKSILÖLLINEN TUNNISTE ( tietotyyppi SQL2003: puuttuu)
    Edustaa arvoa, joka on ainutlaatuinen kaikissa tietokannoissa ja palvelimissa. Esitetään muodossa xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx, jossa jokainen "x" edustaa heksadesimaalilukua välillä 0-9 tai a - f. Ainoat toiminnot, jotka voidaan suorittaa tämän tyyppisille arvoille, ovat vertailu ja NULL-testaus. Tämän tyyppisissä sarakkeissa voidaan käyttää rajoituksia ja ominaisuuksia, lukuun ottamatta ominaisuutta IDENTITY.
  • VARBINARY[(n)] ( tietotyyppi SQL2003: BLOB)
    Edustaa vaihtuvapituista binaariarvoa, enintään 8000 tavua. Varattu tila on lisätyn tiedon koko plus 4 tavua.
  • VARCHARf(n)] , CHAR VARYING [(n)] , CHARACTER VARYING [(n)] ( tietotyyppi SQL2003: CHARACTER VARYING (n))
    Tallentaa kiinteäpituisia merkkitietoja, joiden koko vaihtelee välillä 1 - 8000 merkkiä. Vietetty tila on syötetyn arvon todellinen koko tavuina, ei arvo n.

PostgreSQL-tietotyypit

Tietokanta PostgreSQL tukee useimpia tietotyyppejä SQL2003 sekä valtava joukko tyyppejä tila- ja geometristen tietojen tallentamiseen. PostgreSQL sisältää runsaasti operaattoreita ja toimintoja, jotka on suunniteltu erityisesti geometrisille tietotyypeille. Tämä sisältää ominaisuuksia, kuten kierto, risteysten tunnistus ja skaalaus. SISÄÄN PostgreSQL Tuki on myös olemassa olevien tietotyyppien lisäversioille, jotka yleensä vievät vähemmän levytilaa kuin vastaavat alkuperäiset versiot. Esimerkiksi sisään PostgreSQL INTEGER-tyypistä on tarjolla useita muunnelmia suurten ja pienten numeroiden tallentamiseen, mikä vie enemmän tai vähemmän tilaa.

  • BJGSERJAL
  • BIT ( tietotyyppi SQL2003: BIT)
    Kiinteäpituinen bittijono.
  • BITTI VARYING(n) varbit(n) ( tietotyyppi SQL2003: BITTI VAIHTELEE)
    Tarkoittaa muuttuvapituista n bitin bittijonoa.
  • BOOL , BOOLEAN ( tietotyyppi SQL2003: BOOLEAN)
    Tallentaa Boolen arvon (tosi/epätosi/tuntematon). Suositellut arvot ovat TRUE ja FALSE avainsanat, vaikka PostgreSQL sallii useita kirjaimellisia arvoja arvolle "true": TRUE, t, true, y, yes ja 1. Kelvollisia arvoja "false":lle ovat: FALSE, f, false, n, no ja 0.
  • BOX ((xl, y I), (x2, y2)) ( tietotyyppi SQL2003: puuttuu)
    Tallentaa arvot, jotka määrittävät suorakaiteen muotoisen alueen tasossa. Arvot vievät 32 tavua ja ne esitetään muodossa ((xl, yl), (x2, y2)), joka vastaa vastakkaiset kulmat suorakulmio (oikea ylhäällä ja vasen alhaalla). Ulommat sulut ovat valinnaisia.
  • BYTEA ( tietotyyppi SQL2003: BINARY LARGE OBJECT)
    Raaka, binääritieto, jota käytetään esimerkiksi grafiikan, äänen ja asiakirjojen tallentamiseen. Tämän tyyppinen tallennus vaatii 4 tavua plus bittijonon todellinen koko.
  • CHAR(n) , CHARA CTER(n) ( tietotyyppi SQL2003: CHARACTER(n))
    Sisältää kiinteän pituisen merkkijonon, joka on täytetty välilyönneillä, joiden pituus on n. Yritetään lisätä arvo, joka on pidempi kuin n, johtaa virheeseen (elleivät ylimääräiset merkit ole välilyöntejä, jolloin ne leikataan n merkin pituisiksi).
  • CIDR(x.x.x.xZy) ( tietotyyppi SQL2003: puuttuu)
    Kuvaa verkko- tai isäntäosoitetta IP-protokollan version 4 muodossa. Osoite vie 12 tavua. Kelvolliset arvot ovat kaikki IPv4-protokollan sallimia verkko-osoitteita. CIDR-tyypissä tiedot esitetään muodossa x.x.x.x/y, missä x.x.x.x on IP-osoite ja y on verkkopeitebittien lukumäärä. CIDR ei salli nollasta poikkeavia bittejä verkon peitteen nollabitin oikealle puolelle.
  • CIRCLE x, y, r (SQL2003-tietotyyppi: puuttuu)
    Kuvaa ympyrää tasossa. Arvot vievät!’ 24 tavua ja esitetään muodossa x, y, r. Arvot * ja y edustavat ympyrän keskipisteen koordinaatteja ja r on sen säteen pituus. X:n, y:n ja r:n arvot voidaan haluttaessa rajata suluilla tai aaltosulkeilla.
  • DATE (SQL2003-tietotyyppi: DATE)
    Tallentaa kalenterin päivämäärän (vuosi, päivä ja kuukausi) ilman kellonaikaa. Vie 4 tavua. Päivämäärien on oltava välillä 4713 eaa. 32767 asti ja. e. DATE-tyypin resoluutioraja on tietysti yksi päivä.
  • DATETIME (SQL2003-tietotyyppi: T1MESTAMP)
    Tallentaa kalenteripäivämäärän, joka osoittaa kellonajan.
  • DESIMAALI [(p, s)], NUMERO [(p. s)] (SQL2003-tietotyyppi: DECIMAL (TARKKUUSSKAALA), NUMERO (x, p))
    Tallentaa tarkat numeeriset arvot tarkkuudella (p) 9 ja asteikolla (s), yhtä kuin nolla, ei ylärajaa.
  • FLOAT4, REAL (SQL2003-tietotyyppi: FLOAT(p))
    Tallentaa liukulukuarvot enintään 8 tarkkuudella ja 6 desimaalin tarkkuudella.
  • FLOAT8, DOUBLE PRECISION (SQL2003-tietotyyppi: FLOAT(p), 7
  • INET (x.x.x.x/y)
    Tallentaa verkko- tai isäntäosoitteen IP-protokollan version 4 muodossa. Osoite kestää 12 tavua. Kelvollisia arvoja ovat kaikki IPv4-protokollan sallimat verkko-osoitteet, x.x.x.x on IP-osoite, y on verkon peitebittien määrä. Oletusverkon peite on 32. Toisin kuin CIDR, INET sallii nollasta poikkeavat bitit verkon peitteen oikealla puolella.
  • SMALLINT (SQL2003-tietotyyppi: SMALLINT)
    Tallentaa kaksitavuisia etumerkillisiä ja etumerkittömiä kokonaislukuja välillä -32 768 - 32 767. Synonyymi: INT72.
  • INTEGER (SQL2003-tietotyyppi: INTEGER)
    Tallentaa 4-tavuisia etumerkillisiä tai etumerkittömiä kokonaislukuja välillä -2 147 483 648 - 2 147 483 647 Synonyymi: 1NT4.
  • INT8 (SQL2003-tietotyyppi: puuttuu)
    Tallentaa 8-tavuisia etumerkillisiä tai etumerkittömiä kokonaislukuja välillä -9,223,372,036,854,775,808 - 9,223,372,036,854,775,807.
  • INTERVAL(p) (SQL2003-tietotyyppi: puuttuu)
    Tallentaa yleisesti käytetyt aikaväliarvot välillä -178 000 000 - 178 000 000 vuotta. Vie 12 tavua. INTERVAL-tyypin pienin resoluutio on mikrosekuntia. Tämäntyyppinen päivämäärän tallennus eroaa ANSI-standardista, joka vaatii välimääritteen, kuten INTERVALI VUOSI KUUKAUSI.
  • LINE ((xl, y I), (x2, y2)) (SQL2003-tietotyyppi: puuttuu)
    Tallentaa tiedot tasaisesta suorasta ilman päätepisteitä. Arvot vievät 32 tavua ja ne esitetään muodossa ((xl, yl), (x2, y2)), joka osoittaa rivin aloitus- ja loppupisteen. Sulut LINE-tyypin syntaksissa ovat valinnaisia.
  • LSEG ((xl, yl), (x2, y2)) (SQL2003-tietotyyppi: puuttuu)
    Tallentaa janan (LSEG) tasolle päätepisteineen. Arvot vievät 32 tavua ja ne esitetään muodossa ((xl, yl), (x2, y2)). LSEG-tyypin syntaksin sulkeet ovat valinnaisia. Kiinnostuneille "segmentti" on se, mitä useimmat ihmiset kutsuvat linjaksi. Esimerkiksi pelikentän linjat ovat itse asiassa segmenttejä.
  • MACADDR (SQL2003-tietotyyppi: puuttuu)
    Voi tallentaa tietokoneen verkkokortin MAC-osoitearvon. Vie 6 tavua.
    MACADDR-tyyppi sallii useita teollisia osoitemuotoja
    standardit, esimerkiksi:
    08002В:010203
    08002В-010203
    0800.2В01.0203
    08-00-2В-01-02-03
    08:00:2B:01:02:03
  • RAHA, DESIMAALI(9,2) (SQL2003-tietotyyppi: puuttuu)
    Tallentaa valuuttaarvot Yhdysvaltain muodossa välillä -21474836.48 - 21474836.47.
  • NUMERO [(p, s)], DESIMAALI[(p, s)] (SQL2003-tietotyyppi: ei mitään)
    Tallentaa tarkat numeeriset tiedot tarkkuudella (p) ja mittakaavalla (s).
  • OID (SQL2003-tietotyyppi: puuttuu)
    Tallentaa yksilölliset objektitunnisteet.
  • PATH ((xl, y I), ... n), Polku ((xl, yl), ... n) (SQL2003-tietotyyppi: puuttuu)
    Kuvaa avoimen tai suljetun geometrisen ääriviivan tasossa. Arvot esitetään muodossa ((xl, yl), ... n) ja ne vievät 4 + 32 tavua. Jokainen arvopari (x, y) vastaa yhtä ääriviivapistettä. Ääriviivat ovat joko avoimia, kun ensimmäinen ja viimeinen piste eivät ole samat, tai suljettuja, kun ensimmäinen ja viimeinen piste ovat samat. Suljettujen ääriviivojen ilmaisemiseksi lauseke on suljettu sulkeisiin ja avointen ääriviivojen osoittamiseksi se on suljettu hakasulkeisiin.
  • POINT(x,y) (SQL2003-tietotyyppi: ei mitään)
    Tallentaa tason, joka kuvaa geometristä pistettä. Vie 16 tavua. Arvot esitetään muodossa (x, y). Point on muiden PostgreSQL:n tukemien kaksiulotteisten paikkatietotyyppien perusta. Sulut tämän tyyppisessä syntaksissa ovat valinnaisia.
  • POLYGONE ((x1,y1), ... n) (SQL2003-tietotyyppi: ei mitään)
    Tallentaa arvon, joka kuvaa suljettua geometristä ääriviivaa tasolle. Vie 4 + 32n tavua. Arvot esitetään muodossa ((xl, yl), ... n). POLYGONE-tyyppi vastaa olennaisesti suljetun polun tallentamiseen käytettyä tyyppiä.
  • SERIAL, SER1AL4 (SQL2003-tietotyyppi: ei mitään)
    Tallentaa automaattisesti kasvavan, yksilöllisen kokonaisluku-ID-arvon, jota käytetään indeksointiin ja ristiviittauksiin. Tämä tyyppi tallentaa enintään 4 tavua tietoa (lukualue 1 - 2 147 483 647). Tällä tietotyypillä määritettyjä taulukoita ei voi pudottaa suoraan. Ensin sinun on annettava DROP SEQUENCE -komento ja vasta sen jälkeen DROP TABLE -komento.
  • SER1AL8, BIGSERIAL (SQL2003-tietotyyppi: puuttuu)
    Tallentaa automaattisesti kasvavan, yksilöllisen kokonaisluku-ID-arvon, jota käytetään indeksointiin ja ristiviittauksiin. Tämä tyyppi tallentaa enintään 8 tavua tietoa (lukualue 1 - 9 223 372 036 854 775 807). Tällä tietotyypillä määritettyjä taulukoita ei voi pudottaa suoraan. Ensin sinun on annettava DROP SEQUENCE -komento ja vasta sen jälkeen DROP TABLE -komento.
  • TEKSTI (SQL2003-tietotyyppi: CLOB)
    Tallentaa suuren joukon merkkijonoja, joiden pituus vaihtelee 1 gigatavuun asti. PostgreSQL pakkaa automaattisesti TEKSTI-merkkijonot, joten levytila ​​voi olla pienempi kuin merkkijonojen koko.
  • AIKA [(p)] (SQL2003-tietotyyppi: TIME) Tallentaa kellonajan joko ilman aikavyöhykettä (käyttää 8 tavua) tai sen aikavyöhykkeen kanssa, jolla tietokantapalvelin sijaitsee (käyttää 12 tavua). Kelvollinen arvoalue: 00:00:00.00 - 23:59:59.99. Pienin arvo on 1 mikrosekunti. Huomaa, että useimmissa UNIX-järjestelmät Aikavyöhyketiedot ovat saatavilla vain vuosille 1902–2038.
  • TIMESPAN (SQL2003-tietotyyppi: puuttuu)
    Tallentaa arvon, joka edustaa tiettyä ajanjaksoa. Lähin ANSI-standardin TIMESPAN-tyyppi on INTERVAL-tyyppi.
  • AIKALEIMA [(p)] ( tietotyyppi SQL2003: TIMESTAMP)
    Tallennettu päivämäärä ja aika tietokantapalvelimen aikavyöhykkeen kanssa ja ilman sitä. Hyväksyttävä arvoalue on vuodesta 4713 eKr. e. N1 465 001 asti e. Yksi arvo TIMESTAMP-tyyppi vie 8 tavua. Pienin arvo on 1 mikrosekunti. Huomaa, että useimmissa UNIX-järjestelmissä aikavyöhyketiedot ovat saatavilla vain vuosille 1902–2038.
  • TIMETZ ( tietotyyppi SQL2003: AIKA AIKAVYÖHKEELLÄ)
    Tallentaa kellonajan arvon ottaen huomioon aikavyöhykkeen.
  • VARCHAR(n) , CHARACTER VARYLNG(n) ( tietotyyppi SQL2003: CHARACTER VARYING(n))
    Tallentaa vaihtelevan pituisia merkkijonoja, joiden pituus on enintään n. Välilyöntejä ei tallenneta.

Jokaiselle sarakkeelle sinun on määritettävä pakollinen Taulukon yksilöllisen sarakkeen nimen lisäksi on myös tietotyyppi. Tietotyypin määrittäminen jokaiselle sarakkeelle on yksi ensimmäisistä vaiheista taulukon suunnittelussa. Tietotyypit määrittelevät kullekin sarakkeelle kelvolliset tietoarvot.

2.3.1 Tyypit char ja varchar.

Ne ovat merkkitietotyyppejä, joiden pituus on kiinteä tai muuttuva.

char[(n)] on kiinteäpituista, ei-Unicode-merkkidataa, jonka pituus on n tavua. Arvon n on oltava välillä 1 - 8000. Tämän tietotyypin tallennuskoko on n tavua. Merkin ISO-synonyymi on merkki.

varchar [ (n | max) ] - muuttuvapituinen merkkidata, ei Unicodessa; n:n arvo voi olla 1 - 8 000; max tarkoittaa, että tallennustilan enimmäiskoko on 2^31-1 tavua. Tallennustila on yhtä suuri kuin todellinen tiedon pituus plus kaksi tavua. Syötetyt tiedot voivat olla 0 merkkiä pitkiä. ISO-synonyymit varchar-tyypille ovat char variing tai character variing.

Char- tai varchar-data voi olla yksi merkki tai merkkijono, jonka enimmäispituus on 8000 merkkiä data char ja enintään 2^31 merkkiä varchar-tiedoille.

varchar-tietotyypeillä voi olla kaksi muotoa. varchar-tiedot voivat olla tietyn pituisia merkkejä, esimerkiksi varchar(6) osoittaa, että tietotyyppi voi tallentaa enintään kuusi merkkiä, tai se voi olla varchar(max), mikä lisää merkkien enimmäismäärää. tallennettu tyyppitietoihin, enintään 2^31.

Merkkivakiot on suljettava yksittäiseen (") tai kaksoislainausmerkit("). Merkkivakioiden sulkeminen lainausmerkkeihin on suositeltavaa. Merkkivakioiden sulkeminen lainausmerkkeihin ei ole joskus sallittua, jos QUOTED IDENTIFIER -asetus on PÄÄLLÄ.

Tämä Transact-SQL-koodiesimerkki antaa arvon merkkimuuttujalle:

ILMOITTAA @MyCharVar CHAR(25)

SET @MyCharVar = "Ricardo Adocicados"

Jos käytät yksittäisiä lainausmerkkejä rajataksesi merkkivakion, joka sisältää sisäkkäisen yhden lainauksen, käytä kahta yksittäislainausmerkkiä sisäkkäisen lainausmerkin esittämiseen.

Esimerkiksi:

SET @MyCharVar = "O""Leary"

Jos tallennettavat tiedot ovat pidempiä kuin voimassa oleva numero merkkejä, ne on katkaistu. Jos sarake on esimerkiksi määritetty muodossa char(10) ja se tallentaa arvon "Tämä on todella pitkä merkkijono", SQL Server katkaisee merkkijonon muotoon "Tämä on kelvollinen".

Char-tietotyypistä tulee kiinteäpituinen tietotyyppi, jos NOT NULL -lause on määritetty. Jos sarakkeen pituutta lyhyempi arvo lisätään char-sarakkeeseen, jossa on NOT NULL -lause, arvo täytetään oikealle välilyönneillä sarakkeen koon mukaan. Jos sarake on esimerkiksi määritelty char(10) ja siihen on tarkoitus tallentaa arvo "musiikki", SQL Server tallentaa tiedot muodossa "music____", jossa "_" edustaa välilyöntiä.

2.3.2 Tietotyypit nchar ja nvarchar.

Nämä ovat vakiopituisia (nchar) tai muuttuvapituisia (nvarchar) merkkitietotyyppejä, jotka sisältävät Unicode-tietoja ja käyttävät UCS-2-merkistöä.

nchar [(n)] - n merkin pituinen Unicode-merkkidata. n:n on oltava välillä 1–4000. Tallennustilan koko on kaksi kertaa n tavua. ISO-synonyymit nchar-tyypille ovat national char ja national character.

nvarchar [ (n | max) ] - Vaihtuvapituinen Unicode-merkkidata. n voi olla arvo 1 - 4 000 max määrittää, että tallennustilan enimmäiskoko on 2^31-1 (2 147 483 647) tavua. Tallennuskoko tavuina on kaksi kertaa syötettyjen merkkien määrä + 2 tavua. Syötetyt tiedot voivat olla 0 merkkiä pitkiä. ISO-synonyymit nvarchar-tyypille ovat kansallinen char vaihteleva ja kansallinen luonne vaihteleva.

Katsotaanpa ensin, mitä "tietotyypit" ovat.
Tietotyypit määräävät, mitä arvoja sarakkeeseen voidaan tallentaa ja kuinka paljon tilaa ne vievät muistissa. Kun luot taulukkoa, sinun on määritettävä kaikki sen sarakkeet tiettyä tyyppiä tiedot.
SQL:ssä käytetyt päätyypit voidaan jakaa useisiin luokkiin:

  • Kokonaislukutyypit;
  • Murtolukutyypit;
  • Hahmotyypit;
  • Rahatyypit;
  • Aikatyypit (päivämäärä/aika);

Kokonaislukutietotyypit

Murtolukutietotyypit

Merkin tietotyyppi

TietotyyppiKuvaus
CHAR(koko)Käytetään merkkijonojen säilyttämiseen. Suluissa olevan parametrin avulla voit korjata tallennetun merkkijonon pituuden. Merkkijonolle määritettävissä oleva enimmäiskoko tavuina on 255.
VARCHAR (koko)Kuten edellinen tyyppi, sen avulla voit tallentaa jopa 255 merkin pituisia merkkijonoja. Ero CHAR:iin on kuitenkin se, että tarvittava määrä muistia on varattu tämän tyyppisen arvon tallentamiseen. Eli 5 merkistä koostuva merkkijono vaatii 6 tavua muistia. Ensimmäisessä tapauksessa muisti arvolle varataan määritetyn parametrin mukaan.
NCHAR(koko)Vakiopituiset merkkijonotiedot Unicodessa. n määrittää merkkijonon pituuden, ja sen on oltava välillä 1–4 000. Tallennuksen koko on kaksinkertainen koon arvoon tavuina. On suositeltavaa käyttää nchar, jos sarakkeiden tietoelementtien koot ovat samanlaisia.
NVARCHAR
(koko|max)
Vaihtuvapituiset merkkijonotiedot Unicodessa. Koko määrittää merkkijonon pituuden, ja sen arvo voi olla 1-4000. Suurin arvo ilmaisee, että tallennustilan enimmäiskoko on 2^31-1 merkkiä (2 Gt). On suositeltavaa käyttää nvarcharia, jos sarakkeiden tietoelementtien kokojen odotetaan olevan erilaisia.
TEKSTIMuuttuvan pituinen ei-Unicode-data palvelimen koodisivulla ja rivin enimmäispituus 2^31-1 (2 147 483 647).
NTEXTVaihtuvapituus Unicode-koodattu data, jonka rivin enimmäispituus on 2^30 - 1 (1 073 741 823) tavua.

Valuuttatietotyyppi

Aikatyypit (päivämäärä/aika)

TietotyyppiKuvaus
PÄIVÄMÄÄRÄPäätarkoituksena on tallentaa päivämäärä muodossa VUOSI-KUUKAUSI-PÄIVÄ ("VVVV-KK-PP" tai "uuuu-mm-pp").
AIKAMahdollistaa väliaikaisten arvojen syöttämisen taulukon soluun. Kaikki arvot on määritetty muodossa "tt:mm:ss".
TREFFIAIKAYhdistää kahden edellisen tyypin toiminnot. Tallennusmuoto esitetään seuraavasti: "uuuu-mm-dd hh:mm:ss".
AIKALEIMATallentaa päivämäärän ja kellonajan määritettyyn arvoon, joka on laskettu sekuntien lukumäärällä, joka on kulunut 1. tammikuuta 1970 keskiyöstä.

Esimerkkejä tietotyyppien käytöstä

Katsotaanpa esimerkkiä tietotyyppien käytöstä SQL:ssä.

Esimerkki tietotyyppien käytöstä

MySQL

CREATE TABLE Tarkistukset (id INT NOT NULL, Name VARCHAR (50) NOT NULL, DataToDay DATE NOT NULL, Cost FLOAT NOT NULL);

id on laskuri (se tallentaa yksilöllinen numero check), kuuluu siis kokonaislukutietotyyppiin, joten teemme sen INT tai KOKONAISLUKU. EI TYHJÄ ilmaisee, että muuttuja ei voi olla tyhjä.
SISÄÄN Nimi Tallennamme tuotteen nimen. Koska sarake tallentaa käyttämiämme merkkejä VARCHAR. Kun olet määrittänyt tyypin, varaamme nimelle muistia (meidän tapauksessamme se on (50) ).
Seuraavat taulukon sarakkeet luodaan samalla tavalla.

Tässä julkaisussa tarkastelemme tietotyypit SQL:ssä. Haluaisin kiinnittää huomionne siihen, että useat DBMS:t tukevat erilaisia ​​settejä tietotyypit, joten tämä julkaisu sisältää yleisimmät tietotyypit erilaisten DBMS-järjestelmien SQL-toteutuksissa.

On tärkeää tietää, että tietokantojen oikean ja asiantuntevan suunnittelun kannalta oikein valittu tietotyyppi SQL:ssä voi helpottaa huomattavasti muiden kehittäjien työtä. Siksi en suosittele ohittamaan tietotyyppejä käsittelevää osaa ja aina, kun tutustut uuteen, kiinnitä huomiota tietotyyppeihin, joita ohjelma tukee ja miten se käsittelee näitä tietotyyppejä.

Katsotaanpa tietotyyppejä, jotka ovat olemassa SQL-kielessä. Jokaisella taulukon sarakkeella (attribuutilla) on oltava tietotyyppi sarakkeeseen tallennetuille arvoille. Sarakkeen tietotyyppi määritetään, kun taulukko luodaan, tai vielä paremmin, kun se määritetään .

SQL-kieli jakaa tiedot viiteen tyyppiin:

  1. SQL-kokonaislukutietotyyppi.
  2. SQL todellinen tietotyyppi.
  3. SQL päivämäärä- ja aikatietotyypit.
  4. SQL-merkkijonotietotyyppi.
  5. Unicode SQL-merkkijonotietotyyppi.

Katsotaan mitä kukin sisältää SQL-tietotyypit ja mitä arvoja ne antavat meille mahdollisuuden tallentaa.

KokonaislukutietotyyppiSQL

Kokonaislukutietotyyppi SQL:ssä melko laaja ja riippuu DBMS:n toteutuksesta, alla olevissa taulukoissa on vain joitain tyypillisiä esimerkkejä SQL-kokonaislukutietotyypistä.

SQL-tietotyyppi alkaen ennen
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
pikkuinen 0 255
bitti 0 1
desimaali -10^38 +1 10^38 -1
numeerinen -10^38 +1 10^38 -1
raha -922,337,203,685,477.5808 +922,337,203,685,477.5807
pientä rahaa -214,748.3648 +214,748.3647

Toistan vielä kerran, että kokonaislukujen joukko tietotyypit SQL:ssä riippuu täysin DBMS:stä.

Todellinen tietotyyppiSQL

SQL todellinen tietotyyppi, kuten kokonaislukutietotyyppi, on täysin riippuvainen DBMS-toteutuksesta.

MerkkijonotietotyyppiSQL

SQL:ssä voi olla monia muita merkkijonotietotyyppejä. Katso DBMS:n määrittelystä, mitä tietotyyppiä voidaan käyttää merkkijonoarvoille.

SQL-tietotyyppi Kuvaus
hiiltyä Enimmäispituus on 8000 merkkiä (kaikki sarakkeen arvot ovat kiinteä koko sarakkeen ilmoittamisen yhteydessä). Huomaa: mittayksikkö SQL-tietotyyppi char-symboli.
varchar Enimmäispituus on 8000 merkkiä (kaikki sarakkeen arvot ovat eri kokoisia merkkien lukumäärästä riippuen, mutta enintään sarakkeen ilmoittamisen yhteydessä määritetty koko). Huomaa: mittayksikkö SQL-tietotyyppi varchar-symboli.
varchar (max) SQL-tietotyyppi varchar(max)-symboli.
teksti Enimmäispituus 2 147 483 647 merkkiä. Huomaa: mittayksikkö SQL-tyyppi datateksti -symboli.

Unicode SQL-merkkijonotietotyyppi

Kyllä, jotkut DBMS:t varaavat merkkijonotietotyypin Unicode-koodauksessa, koska Unicode-koodatuissa merkkijonoissa yhden merkin kirjoittamiseen kuluu vähintään 8 tavua, minkä vuoksi varaamme merkkijonotietotyyppi SQL:ssä unicode-koodauksella.

SQL-tietotyyppi Kuvaus
nchar Enimmäispituus on 4000 merkkiä (kaikilla sarakkeen arvoilla on kiinteä koko, joka määritetään sarakkeen ilmoittamisen yhteydessä). Huomaa: mittayksikkö SQL-tietotyyppi nchar-symboli.
nvarchar Enimmäispituus on 4000 merkkiä (kaikki sarakkeen arvot ovat eri kokoisia merkkien lukumäärästä riippuen, mutta enintään sarakkeen ilmoittamisen yhteydessä määritetty koko). Huomaa: mittayksikkö SQL-tietotyyppi nvarchar-symboli.
nvarchar(max) Enimmäispituus 231 merkkiä. Huomaa: mittayksikkö SQL-tietotyyppi nvarchar(max)-symboli.
ntext Enimmäispituus 1 073 741 823 merkkiä. Vaihteleva pituus. Huomaa: mittayksikkö SQL-tietotyyppi ntext-symboli.

Kirjoita binääritietoaSQL

Binääritietotyyppi SQL:ssä käytetään tietojen tallentamiseen binäärimuodossa (tavujonona).

SQL-tietotyyppi Kuvaus
binääri Enimmäispituus on 8 000 tavua (kaikilla sarakkeen arvoilla on kiinteä koko, joka määritetään sarakkeen ilmoittamisen yhteydessä). Huomaa: binääritietotyypin yksiköt ovat tavuja.
varbinaarinen Enimmäispituus on 8 000 tavua (kaikki sarakkeen arvot ovat eri kokoisia merkkien lukumäärästä riippuen, mutta enintään sarakkeen ilmoittamisen yhteydessä määritetty koko). Huomaa, että varbinaarisen tietotyypin yksiköt ovat tavuja.
varbinaari (max) Enimmäispituus 231 tavua. Huomaa, että varbinaarisen (max) tietotyypin yksiköt ovat tavuja.
kuva Enimmäispituus on 2 147 483 647 tavua (kaikki sarakkeen arvot ovat eri kokoisia merkkien lukumäärästä riippuen, mutta enintään sarakkeen ilmoittamisen yhteydessä määritetty koko). Huomaa: kuvatietotyypin yksiköt ovat tavuja.

Haluaisin kiinnittää huomionne siihen tosiasiaan, että jokainen DBMS tukee omia tietotyyppejä ja -mittoja, olemme harkinneet perustyypit SQL-kielen tiedot, seuraavassa aiheessa tarkastellaan tietotyyppejä, joita SQLite3 tukee.

Allekirjoitetut ja allekirjoittamattomat tietotyypit SQL:ssä

Haluan kiinnittää huomionne siihen, että joissakin DBMS-järjestelmissä numeeriset tietotyypit voidaan jakaa allekirjoitettuihin ja allekirjoittamattomiin tietotyyppeihin. Ja nämä ovat täysin erityyppisiä tietoja.

Jos esimerkiksi tallennat id INTEGER UNINSIGNED yhteen taulukkoon ja id_table1 INTEGER SIGNED toiseen, et voi toteuttaa näitä kahta saraketta, koska niillä on eri tietotyypit. Ole varovainen ja lue aina tietotyyppien kuvaukset, kun aloitat uuden DBMS:n käytön.

Otetaan esimerkki käytännön sovellus ALLEKIRJOITETTU ja ALLEKIRJOITTAmaton tietotyypit. Esimerkiksi MySQL:ssä on TINYINT-tietotyyppi, joka vie yhden tavun ja sopii erinomaisesti iän tallentamiseen, joten TINYINT-sarake voi tallentaa kokonaislukuja 0-256 (kahdesta kahdeksaan potenssiin, yhdessä tavussa on 8 bittiä ja yhdessä bitissä ota kaksi arvoa: nolla tai yksi), jos sarake on etumerkitön, jos sarake on allekirjoitettu, siihen voidaan kirjoittaa numeroita -128 - 127 (yksi bitti menee per merkki).