Uvod u SQL tipove podataka

Vrste podataka u SQL-u, kao i bilo koji drugi programski jezik, definiraju kakvu vrstu podataka može sadržavati stupac ili varijabla. Vrsta podataka može biti bilo što, od znaka, preko niza znakova, brojeva, do datuma i vremena. Tip podataka vrlo je važan pojam usko povezanog programiranja. Pomaže u rješavanju većine pogrešaka kompatibilnosti tipa tijekom same kompilacije programa.

Mi bismo široko kategorizirali vrste SQL podataka, a zatim istraživali razne vrste i primjere u tim kategorijama.

Napomena - Ne podržavaju svi sustavi za upravljanje bazama podataka sve vrste podataka. Na primjer, Oracle ne podržava DateTime. Te su karakteristike date zajedno s opisom vrste podataka u članku. Savjetuje se to pri planiranju baze podataka. Slično tome, postoje i mnoge druge vrste podataka koje su specifične za određeni sustav upravljanja bazama podataka. Na primjer, MS SQL ima vrstu podataka o novcu. Takve vrste nisu generičke i izvan su opsega ovog članka.

Vrste SQL podataka

1. Binarni

Vrsta binarnih podataka sadrži niz binarnih nizova bita. Za razliku od uobičajenih znakovnih nizova, binarni se nizovi koriste za pohranu nekonvencionalnih podataka poput slika.

Binarni (veličina): pohranjuje binarne nizove bajtova u duljini stupca određene parametrom veličine. Veličina stupca je fiksna. Ako je veličina definirana kao 10 bajtova, a pohranjeni podaci su 5 bajta, preostalih 5 bajta i dalje je zauzet u memoriji stupcem. Preostali bajtovi su s nule podvučeni s desne strane od strane većine SQL parsera. Maksimalna moguća veličina je 8000 bajtova.

Varbinary (size): Pohranjuje binarne bajtove niže dužine stupca određene parametrom size. Veličina stupca nije fiksna. Ako je veličina definirana kao 10 bajtova, a pohranjeni podaci su 5 bajta, stupac zauzima samo 5 bajta u memoriji. Maksimalna moguća veličina je 8000 bajtova.

Varbinary (max): Određivanjem ključne riječi max u parametru size povećava se maksimalna moguća veličina na 2GB i dodjeljuje varijabilna veličina stupovima na temelju podataka pohranjenih. MySQL ne podržava ovu vrstu podataka.

Primjer:

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 pogreške dolazi jer smo veličinu stupaca definirali samo kao 5 bajta.

2. Lik / niz

Ove vrste podataka pohranjuju ili pojedinačni znak ili niz znakova koji tvore niz. Uključuju znakove, brojeve i posebne znakove. Međutim, priroda znakova ograničena je samo na znakove koji nisu Unicode.

Char (size): pohranjuje nizove znakova fiksne duljine duljine određene parametrom size. Veličina stupaca djeluje na sličan način kao BINARY vrsta podataka. Zadana veličina je 1 znak. Maksimalni je 255 u većini sustava za upravljanje bazama podataka.

Varchar (veličina): pohranjuje nizove znakova promjenjive duljine. No, duljina navedena parametrom veličine definira maksimalnu duljinu stupca. Maksimalna moguća duljina je 65535 znakova.

Varchar (max): Određivanjem ključne riječi max u parametru veličine povećava se maksimalna moguća veličina na 2 GB i dodjeljuje varijabilna veličina stupovima na temelju podataka pohranjenih. MySQL ne podržava ovu vrstu podataka.

Tekst: MySQL podržava vrstu tekstualnih podataka umjesto varchar (max). Tekst također povećava maksimalnu moguću veličinu na 2 GB.

Primjer:

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. Unicode znak / niz

Ove vrste podataka pohranjuju ili jedan ili niz Unicode znakova.

Nchar (veličina): Ovo je slično tipu podataka o charu i podržava i Unicode znakove. Maksimalna granica je, međutim, smanjena na 4000 bajta.

Nvarchar (veličina): Ovo je slično tipu podataka nvarchar i podržava i Unicode znakove. Maksimalna granica je, međutim, smanjena na 4000 bajta.

Nvarchar (max): Određivanjem ključne riječi max u parametru veličine povećava se maksimalna moguća veličina na 1 GB i dodjeljuje varijabilna veličina stupcima na temelju podataka pohranjenih. MySQL ne podržava ovu vrstu podataka.

Ntext: MySQL podržava vrstu podataka ntext umjesto nvarchar (max). Ntext također povećava maksimalnu moguću veličinu na 1GB.

Primjer:

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

4. Numerički

Numerički tipovi podataka podržavaju cijele brojeve i realne / frakcijske / decimalne brojeve.

Bit / Bool / Boolean: Ovi tipovi podataka pohranjuju samo dvije vrijednosti - 0 i 1. 0 označava lažno, dok 1 označava istinu. Malo je podržana većina baza podataka. Neke napredne baze podataka podržavaju i bool i boolean.

INT: Spremanje pozitivnih i negativnih cjelobrojnih brojeva do 4 bajta. To znači da vrijednost mora biti u rasponu (-2147483648, 2147483647). Određivanjem ključne riječi bez potpisa, stupac ograničava spremanje samo pozitivnih vrijednosti u rasponu (0, 4294967295).

TINYINT: pohranjuje pozitivne i negativne cjelobrojne brojeve do 1 bajta. To znači da vrijednost mora biti u rasponu (-128, 127). Određivanjem ključne riječi bez potpisa, stupac ograničava spremanje samo pozitivnih vrijednosti u rasponu (0, 255).

Smallint: pohranjuje pozitivne i negativne cjelobrojne brojeve do 2 bajta. To znači da vrijednost mora biti u rasponu (-32768, 32767). Određivanjem ključne riječi bez potpisa, stupac ograničava spremanje samo pozitivnih vrijednosti u rasponu (0, 65535).

Bigint: pohranjuje pozitivne i negativne cjelobrojne brojeve do 8 bajtova. To znači da vrijednost mora biti u rasponu (-2 63, 2 63 -1). Određivanjem ključne riječi bez potpisa, stupac ograničava spremanje samo pozitivnih vrijednosti u rasponu (0, 2 64 -1).

Decimalna (veličina, D): pohranjuje broj fiksne točke. Veličina parametra određuje ukupni broj znamenki, dok d određuje broj znamenki nakon decimalne točke. Zadane vrijednosti za veličinu i d su 10 i 0.

Float (veličina, D) / Double (size, D): pohranjuje broj s pomičnom zarezom. Float se koristi za manje brojeve do 4 bajta. Dvostruko pohranjuju veći broj. Međutim, double ne podržavaju sve baze podataka.

Znanje izvan nastavnog plana i programa - Razlika između brojeva fiksnih i plutajućih točaka je u tome što je decimalna točka fiksirana u jednom, a u drugoj pluta. Fiksna točka znači da se broj znamenki fiksira nakon i prije decimalne točke. Plutajuća točka znači da broj znamenki prije i nakon decimalne točke može varirati u odnosu na značaj znamenki u broju.

Primjer:

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 i vrijeme

  1. Datum: pohranjuje podatke u formatu GGGG-MM-DD, ograničeno od 1000-01-01 do 9999-12-31.
  2. Vrijeme: Pohranjuje vrijeme u formatu hh: mm: ss.
  3. DateTime: Pohranjuje i datum i vrijeme.
  4. Vremenska oznaka : Vremenska oznaka koristi se za označavanje vremenske oznake svaki put kada se redak unese ili ažurira u tablici. To se obično radi pomoću ključnih riječi DEFAULT CURRENT_TIMESTAMP i ON UPDATE CURRENT_TIMESTAMP.

Primjer:

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. Razno-SQL tipovi podataka

  • CLOB: CLOB označava znakove velikih objekata. Mogu sadržavati podatke o znakovima do 2 GB. MySQL ipak ne podržava. MySQL koristi Text da bi postigao isto.
  • BLOB: BLOB označava binarne velike objekte. Koriste se za pohranjivanje binarnih predmeta veličine do 2 GB. Slike se obično pretvaraju u binarne objekte i pohranjuju u stupce BLOB.
  • XML: koristi se za pohranu XML podataka.
  • JSON: Koristi se za pohranu podataka JSON. Ne podržava MySQL.

Zaključak - SQL tipovi podataka

Vrste podataka SQL puno pomaže u strateškom optimiziranju prostora baze podataka. U digitalnom svijetu, gdje podaci rastu eksponencijalno, programer mora mudro odabrati vrstu za svaki zalogaj podataka. To pomaže u smanjenju troškova koji nastaju zbog masovnog pohranjivanja podataka.

Preporučeni članci

Ovo je vodič za SQL tipove podataka. Ovdje raspravljamo o Uvodu, Vrste SQL podataka, znakovima / nizu, Unicode znaku / nizu i numeričkim. Možete i proći kroz naše druge predložene članke da biste saznali više -

  1. Vrste podataka PostgreSQL
  2. Vrste OLAP-a
  3. Vrste zlonamjernog softvera
  4. Klauzula SQL WHERE
  5. PHP Ključne riječi
  6. C ++ Ključne riječi
  7. Top 3 vrste podataka PHP s primjerima
  8. Primjeri za implementaciju INSERT Izjave

Kategorija: