Uvod v podatkovne tipe SQL

Vrste podatkov v SQL-u, tako kot v katerem koli drugem programskem jeziku, določajo, kateri tip podatkov lahko vsebuje stolpec ali spremenljivko. Vrsta podatkov je lahko karkoli, od znaka, skozi niz znakov, preko številk, do datuma in časa. Tip podatkov je zelo pomemben koncept tesno povezanega programiranja. Pomaga pri odpravljanju večine napak v združljivosti tipa med samim sestavljanjem programa.

Na splošno bi razvrstili vrste podatkov SQL in nato raziskovali različne tipe in primere v teh kategorijah.

Opomba - Vsi sistemi za upravljanje baz podatkov ne podpirajo vseh vrst podatkov. Na primer, Oracle ne podpira DateTime. Te podrobnosti so podane skupaj z opisom vrste podatkov v članku. Priporočamo, da se tega pri oblikovanju baze ne pozabite. Podobno je tudi veliko drugih vrst podatkov, ki so značilne za določen sistem upravljanja podatkovnih baz. MS SQL ima na primer vrsto podatkov o denarju. Takšne vrste niso splošne in presegajo obseg tega članka.

Vrste podatkov SQL

1. Binarni

Vrsta binarnih podatkov vsebuje zaporedje binarnih nizov bajtov. Za razliko od običajnih nizov znakov se binarni nizi uporabljajo za shranjevanje nekonvencionalnih podatkov, kot so slike.

Binarni (velikost): shrani binarne bajtovske nize dolžine stolpcev, ki jih poda parameter velikosti. Velikost stolpca je fiksna. Če je velikost definirana kot 10 bajtov in shranjeni podatki 5 bajtov, je preostalih 5 bajtov še vedno zasedenih v pomnilniku stolpec. Ti preostali bajti so večino SQL razčlenjevalcev na desni podstavljeni na nulo. Največja možna velikost je 8000 bajtov.

Varbinary (size): Shrani binarne bajtovske nize dolžine stolpca, ki jih poda parameter size. Velikost stolpca ni določena. Če je velikost opredeljena kot 10 bajtov in shranjeni podatki 5 bajtov, stolpec zaseda le 5 bajtov. Največja možna velikost je 8000 bajtov.

Varbinary (max): Če določite ključno besedo max v parametru size, povečate največjo možno velikost na 2GB in dodelite spremenljivo velikost stolpcem na podlagi shranjenih podatkov. Ta vrsta podatkov ne podpira MySQL.

Primer:

create table BinaryDataTypes (col_binary BINARY(5), col_varbinary VARBINARY(5));
insert into BinaryDataTypes values (101, 121);
select * from BinaryDataTypes;

insert into BinaryDataTypes values (12345, 123456);
insert into BinaryDataTypes values (123456, 123456);

Do napake pride, ker smo velikost stolpcev določili kot 5 bajtov.

2. Znak / niz

Te vrste podatkov shranjujejo bodisi en znak ali niz znakov, ki tvorijo niz. Sem spadajo znaki, številke in posebni znaki. Narava znakov je omejena samo na znake, ki niso Unicode.

Char (velikost): Shrani znake nizov s fiksno dolžino dolžine, določene s parametrom size. Velikost stolpca deluje na podoben način kot podatkovni tip BINARY. Privzeta velikost je 1 znak. Največ je 255 v večini sistemov za upravljanje podatkovnih baz.

Varchar (velikost): Shrani znake nizov s spremenljivo dolžino. Vendar dolžina, določena s parametrom velikosti, določa največjo dolžino stolpca. Največja možna dolžina je 65535 znakov.

Varchar (max): Če določite ključno besedo max v parametru velikost, poveča največjo možno velikost na 2 GB in stolpcem dodeli spremenljivo velikost na podlagi shranjenih podatkov. Ta vrsta podatkov ne podpira MySQL.

Besedilo: MySQL podpira vrsto besedilnih podatkov namesto varchar (max). Besedilo poveča tudi največjo možno velikost na 2 GB.

Primer:

create table CharacterDataTypes (col_char CHAR(300));

create table CharacterDataTypes (col_char CHAR(20), col_varchar VARCHAR(20), col_text TEXT);
insert into CharacterDataTypes values ('Hello World', 'How you doing?', 'This is an incredibly longer text to demonstrate the data type text in MySQL. The data type text makes it possible to store 2GB of data in a column. That\'s equal to 2*1024*1024*1024 = over 2.14 billion characters. Whoa!');

3. Znak / niz niz Unicode

Te vrste podatkov shranjujejo bodisi en ali niz znakov Unicode.

Nchar (velikost): To je podobno vrsti podatkov char in podpira tudi znake Unicode. Največja omejitev pa se zmanjša na 4000 bajtov.

Nvarchar (velikost): Podoben je vrsti podatkov nvarchar in podpira tudi znake Unicode. Največja omejitev pa se zmanjša na 4000 bajtov.

Nvarchar (max): Če določite ključno besedo max v parametru velikost, poveča največjo možno velikost na 1 GB in stolpcem dodeli spremenljivo velikost na podlagi shranjenih podatkov. Ta vrsta podatkov ne podpira MySQL.

Ntext: MySQL podpira vrsto podatkov ntext namesto nvarchar (max). Ntext poveča tudi največjo možno velikost na 1GB.

Primer:

create table UnicodeCharacterDataTypes (col_unicode_char NCHAR(200));
insert into UnicodeCharacterDataTypes values ('局层局层');
select * from UnicodeCharacterDataTypes;

4. Številčna

Številčne vrste podatkov podpirajo cela števila in realna / delna / decimalna števila.

Bit / Bool / Boolean: Ti podatkovni tipi hranijo samo dve vrednosti - 0 in 1. 0 pomeni lažno, 1 pa resnično. Malo jih podpira večina baz podatkov. Nekatere napredne baze podatkov podpirajo tudi boole in boolean.

INT: Shrani pozitivna in negativna cela števila do 4 bajtov. To pomeni, da mora biti vrednost v območju (-2147483648, 2147483647). Če določite ključno besedo brez podpisa, stolpec omejuje na shranjevanje samo pozitivnih vrednosti v območju (0, 4294967295).

TINYINT: Shrani pozitivna in negativna cela števila do 1 bajta. To pomeni, da mora biti vrednost v območju (-128, 127). Če določite ključno besedo brez podpisa, stolpec omejuje na shranjevanje samo pozitivnih vrednosti v območju (0, 255).

Smallint: Shrani pozitivna in negativna cela števila do 2 bajta. To pomeni, da mora biti vrednost v območju (-32768, 32767). Če določite ključno besedo brez podpisa, stolpec omejuje na shranjevanje samo pozitivnih vrednosti v območju (0, 65535).

Bigint: Shrani pozitivna in negativna cela števila do 8 bajtov. To pomeni, da mora biti vrednost v območju (-2 63, 2 63 -1). Če določite ključno besedo brez podpisa, stolpec omejuje na shranjevanje samo pozitivnih vrednosti v območju (0, 2 64 -1).

Decimal (velikost, D): shrani številko s fiksno točko. Velikost parametra določa skupno število števk, medtem ko d določa število števk, ki sledijo decimalni točki. Privzete vrednosti za velikost in d so 10 in 0.

Float (velikost, D) / Double (velikost, D): shrani številko s plavajočo vejico. Float se uporablja za manjše številke do 4 bajtov. Dvojne trgovine večje število. Vendar dvojno ne podpirajo vse baze podatkov.

Znanje zunaj učnega načrta - Razlika med števili s fiksno točko in plavajočo vejico je v tem, da je decimalna točka določena v enem in plavajočem v drugem. Fiksna točka pomeni, da se število števk določi po decimalni točki in pred njo. Plavajoča točka pomeni, da se lahko število števk pred in za decimalno vejico razlikuje glede na pomen števk v številu.

Primer:

create table NumericDataTypes (col_tinyint_u TINYINT UNSIGNED, col_smallint SMALLINT, col_int INT, col_bigint BIGINT UNSIGNED, col_decimal DECIMAL(5, 2), col_float FLOAT);
insert into NumericDataTypes values (255, -32768, 1234567890, (POWER(2, 63)-1), 987.65, 987.65);

5. Datum in ura

  1. Datum: Shranjevanje podatkov v obliki LLLL-MM-DD, omejeno od 1000-01-01 do 9999-12-31.
  2. Čas: Shrani čas v formatu hh: mm: ss.
  3. DateTime: Shrani datum in uro.
  4. Časovna znamka : Časovna žiga se uporablja za označevanje časovne žige vsakič, ko v tabelo vnesete ali posodobite vrstico. Običajno to opravijo s ključnimi besedami DEFAULT CURRENT_TIMESTAMP in ON UPDATE CURRENT_TIMESTAMP.

Primer:

create table DateTimeDataTypes (col_date DATE, col_time TIME, col_datetime DATETIME, col_ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
insert into DateTimeDataTypes(col_date, col_time, col_datetime) values (CURDATE(), '08:50:41', NOW());

6. Različni tipi podatkov SQL

  • CLOB: CLOB pomeni znake velikih predmetov. Hranijo lahko znakovne podatke do 2 GB. MySQL sicer ne podpira. MySQL uporablja Text, da doseže isto.
  • BLOB: BLOB pomeni Binarni veliki predmeti. Uporabljajo se za shranjevanje binarnih predmetov velikosti do 2 GB. Običajno se slike pretvorijo v binarne predmete in shranijo v stolpce BLOB.
  • XML: Uporablja se za shranjevanje XML podatkov.
  • JSON: Uporablja se za shranjevanje podatkov JSON. MySQL ne podpira.

Zaključek - Vrste podatkov SQL

Podatkovni tipi SQL veliko pomagajo pri strateški optimizaciji prostora baze podatkov. V digitalnem svetu, kjer podatki rastejo z eksponentno hitrostjo, mora razvijalec pametno izbrati vrsto za vsak košček podatkov. To pomaga zmanjšati stroške, ki nastanejo zaradi množičnega shranjevanja podatkov.

Priporočeni članki

To je vodnik za tipe podatkov SQL. Tukaj razpravljamo o uvodu, tipih podatkov SQL, znaku / nizu, znaku / nizu Unicode in številki. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Vrste podatkov PostgreSQL
  2. Vrste OLAP
  3. Vrste zlonamerne programske opreme
  4. Odredba SQL WHERE
  5. PHP Ključne besede
  6. C ++ Ključne besede
  7. Najboljše 3 vrste podatkov PHP s primeri
  8. Primeri za izvajanje izjave INSERT