mysql data types what are different data types mysql
Saznajte o različitim vrstama podataka MySQL, tj. Numeričkim, nizovima, datumskim vrstama podataka, JSON-u, logičkim vrijednostima itd. S primjerima:
U ovom uputstvu naučit ćemo o različitim vrstama podataka koje podržava MySQL. Vrste podataka navode se za svaki stupac kada se kreira tablica, a također tijekom ažuriranja / izmjene tablice za dodavanje novog stupca u postojeću tablicu
Učit ćemo o vrstama podataka u tri različite kategorije, tj. Numeričkom tipu podataka, tipu podataka String i tipu podataka Datetime.
Što ćete naučiti:
Vrste podataka MySQL
Preduvjeti
Učit ćemo sve tipove podataka s radnim primjerima u MySQL-u. Stoga se preporučuje izvedba MySQL-a za izvršavanje upita zajedno s detaljima za bolje razumijevanje koncepta.
Također, možete stvoriti uzorak baze podataka s imenom sql_data_types koja bi sadržavala sve tablice koje bismo koristili za primjere.
create database sql_data_types; use sql_data_types;
Numerički tipovi podataka
Numerički tipovi podataka mogu se podijeliti u 3 vrste:
- Cijeli tipovi podataka
- Vrste fiksnih točaka
- Vrste s pomičnom zarezom
Razgovarajmo o svakom od sljedećeg:
Cijeli tipovi podataka
Ovi tipovi podataka podržavaju cijele brojeve bez ikakvog decimalnog prikaza. Postoje razne podvrste poput - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Sintaksa:
INT[(width)] [UNSIGNED] [ZEROFILL]
Činjenice:
Opis | Domet | Memorija | Opcije |
---|---|---|---|
SREDNJOKLOB | 0-16.777.215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Najčešće korišteni numerički tip. Pohranjuje cijele brojeve DEFAULT - Nepotpisane vrijednosti | –2.147.483.648 do 2.147.483.647 | 4 bajta | Ako se koristi s opcijom UNSIGNED - Raspon se mijenja u 0 do 4.294.967.295 Opcija širine može se koristiti s ZEROFILL za umetanje unosa nulom za vrijednosti manje od širine |
Primjeri:
Stvorit ćemo tablicu s 1 stupcem koji ima INT tip podataka i različite opcije.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Izlaz naredbe SELECT:
CREATE TABLE numbers_int_options(int_col_with_options INT(4) ZEROFILL ); INSERT into numbers_int_options values(1),(123),(1234),(12345); select * from numbers_int_options;
Izlaz gornje naredbe:
Ostale varijacije INT-a:
Za INT je dostupno više opcija, ovisno o određenim zahtjevima. Oni se obično koriste kada je zabrinutost memorija ili prostor, ali u sve praktične svrhe INT je najčešće korišten.
Dostupne su različite varijacije tipa podataka INT:
Vrsta podataka | Domet | Primjer | Korištena memorija / bajtovi |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
SMALI | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | dva |
SREDNJI | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
VELIKO | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Vrste s pomičnom zarezom
Vrste s pomičnom zarezom približne su vrste vrijednosti i to ovisi o br. preciznosti decimalne točke navedena tijekom deklaracije tipa stupca.
Postoje 2 vrste podataka s pomičnom zarezom: FLOAT i DOUBLE koji podržavaju različite domete i troše memoriju / pohranu.
FLOAT & DOUBLE
Prema novoj preporučenoj sintaksi - i FLOAT i DOUBLE preciznost mogu se odrediti pomoću samo FLOAT tipova podataka.
Sintaksa:
FLOAT(p)
Ovdje, str -> preciznost
Činjenice:
Opis | Memorija | Opcije | Primjeri |
---|---|---|---|
FLOAT / DOUBLE predstavlja brojeve s pomičnim zarezom s približnim vrijednostima Tj. kada MySQL pohrani ove vrijednosti, ove se vrijednosti približavaju najbližoj preciznosti prema deklariranoj vrsti. Preciznost između 0-23 predstavlja FLOAT tip, dok bi 24 do 53 generiralo dvostruki tip koji troši 8 bajtova | -Preciznost - 0-23 => 4 bajta -Preciznost -24-53 => 8 bajtova | -Brojevi plutajuće točke mogu se POTPISATI kao i NEPOTPISATI -FLOAT je obično točan do 7 decimalnih mjesta, dok je DOUBLE točan do 14 decimalnih mjesta -Postoji još jedan nestandardni način deklarisanja FLOAT i DOUBLE sa specificiranjem preciznih točaka FLOAT (n, d) - gdje je n ukupna brojka, a d nije decimalna mjesta | -Napravite tablicu s stupcem DOUBLE vrste podataka STVORI TABELU numbers_double (double_col FLOAT (30)); -Napravite tablicu s stupcem DOUBLE vrsta podataka i preciznim znamenkama kao 5 STVORI TABELU numbers_double (double_col DOUBLE (20,5)); |
Pogledajmo neke primjere dohvaćanja vrijednosti dvostrukih vrsta:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Izlaz naredbe SELECT:
Ovdje možemo vidjeti da su vrijednosti pohranjene do 5 decimalnih mjesta kako je navedeno tijekom deklaracije tipa podataka.
Vrste fiksnih točaka
Te se vrste podataka koriste za pohranu točne vrijednosti s utvrđenom preciznošću. Te se vrste podataka obično koriste kada je potrebna precizna pohrana. Na primjer, bankovni računi uvjet je za održavanje stanja s 2 decimale, podaci nam trebaju biti pohranjeni s točnom preciznošću.
DECIMALNI / NUMERIČKI
Sintaksa:
DECIMAL[(width[,decimals])] [UNSIGNED] [ZEROFILL]
Činjenice:
Opis | Domet | Memorija | Opcije |
---|---|---|---|
DECIMAL je numerički tip podataka u MySQL-u i pohranjuje točne vrijednosti s navedenom preciznošću. Zadana ljestvica ili širina za tip podataka DECIMAL je preciznost 10 i 0. Imajte na umu da se vrste DECIMAL i NUMERIC mogu koristiti naizmjenično. | Ovisi o navedenom rasponu Na primjer DECIMAL (5,2) imao bi raspon od -999,99 do 999,99 | Korisnici MySQL-a binarni format za pohranu DECIMALNOG tipa podataka - Potrebna su četiri bajta za svakih 9 znamenki - Dakle na primjer, ako imamo DECIMAL (14,2) - bilo bi potrebno ukupno - 9 (4) + 2 (1) => 7 bajtova | -Maksimalna vrijednost širine može biti 265 -Broj decimala nije obavezan, a zadana vrijednost je 0 |
Primjer:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Vrste podataka DateTime
Vrste podataka DateTime u MySQL-u, kao što i samo ime govori, koriste se za spremanje vrijednosti datuma i vremena u MySQL bazu podataka.
Postoje 2 vremenska tipa koja podržava MySQL - DATETIME i TIMESTAMP
Razmotrimo oba u sljedećim odjeljcima.
DATUM VRIJEME
Sintaksa:
DATETIME(n)
Ovdje je n -> preciznost / razlomak dijela sekundi (maksimalna podržana preciznost je 6).
Činjenice:
Opis | Domet | Memorija | Primjeri |
---|---|---|---|
Koristi se za pohranu datuma i vremena u MySQL stupac Kada se postavi upit, podaci stupca prikazuju datum i vrijeme u donjem obliku: GGGG-MM-DD HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 bajtova Kad je uključen frakcijski dio, tada se za svake 2 frakcijske znamenke troši dodatni bajt. | CREATE table datetime_example(date_col DATETIME); // IZLAZ date_col 2020-08-08 22:22:53 |
VREMENSKI KAMP
Sintaksa:
TIMESTAMP(n)
Ovdje je n -> preciznost / razlomak dijela sekundi (maksimalna podržana preciznost je 6)
Činjenice:
Opis | Domet | Memorija | Primjeri |
---|---|---|---|
Još jedan privremeni tip podataka koji se koristi za pohranu datuma i vremena. Ovo pohranjuje datumsko vrijeme kao UTC, također s ograničenim rasponom između 1970. i 2038. godine | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 bajta | CREATE table timestamp_example(ts_col TIMESTAMP); IZLAZ ts_col 2020-08-08 22:19:11 |
Vrste podataka niza
Nizovi vrsta podataka, kao što i samo ime govori, koriste se za spremanje nizova / tekstova ili blobova tekstualnih podataka u bazu podataka. Ovisno o slučaju upotrebe, dostupni su različiti tipovi podataka -CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Razumijemo svaku od ovih različitih vrsta podataka na primjerima.
CHAR I VARCHAR
Obje ove vrste koriste se za spremanje String vrijednosti u stupce u MySQL-u, ali se razlikuju po načinu na koji se vrijednosti pohranjuju i dohvaćaju.
CHAR i VARCHAR deklariraju se s dužinom, što označava maksimalnu duljinu niza koji želite spremiti u stupac.
Sintaksa:
CHAR(n) VARCHAR(n)
Ovdje je n -> maks. znakova koje će stupci pohraniti
Činjenice:
Tip | Opis | Domet | Primjeri |
---|---|---|---|
CHAR Sintaksa - CHAR (n) | CHAR može pohraniti niz 'n' duljine kako je definirano tijekom deklaracije. Ako je Niz manji od n znaka, tada je nadopunjen razmacima. | Duljina tipa podataka CHAR može varirati od 0 - 255 Ovisno o duljini, potrošnja memorije kretala bi se od 0 - 255 bajtova. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Sintaksa - VARCHAR (n) | VARCHAR vam omogućuje pohranu nizova promjenljive duljine i trošenje memorije prema stvarnoj veličini spremljenog niza, a ne prema maksimalnoj vrijednosti koja je navedena tijekom definicije stupca. | Duljina tipa podataka VARCHAR može varirati od 0 - 65535 Ovisno o duljini, potrošnja memorije kretala bi se od 0 - 65535 bajtova. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINARNA I VARBINARNA
Slično CHAR i VARCHAR - ove vrste podataka pohranjuju žice, ali u binarnom formatu.
Duljina vrsta podataka BINARY i VARBINARY mjeri se u bajtovima za razliku od broja znakova u vrstama podataka CHAR i VARCHAR.
Sintaksa:
BINARY(n) VARBINARY(n)
Ovdje je n -> maks. bajtova koje će pohraniti stupac.
Činjenice:
Tip | Opis | Domet | Primjeri |
---|---|---|---|
BINARNI Sintaksa - BINARY (n) | BINARY može pohraniti ‘n’ binarnih bajtova. Za vrijednosti manje od n oni su desno podstavljeni s 0 bajta i pohranjeni | Duljina tipa podataka BINARY može varirati od 0 - 255 Ovisno o duljini, potrošnja memorije kretala bi se od 0 - 255 bajtova. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINARSKA Sintaksa - VARBINARY (n) | VARBINARY omogućuje pohranjivanje binarnih nizova promjenljive duljine do ‘n duljine (kako je navedeno u definiciji stupca) | Duljina tipa podataka VARBINARY može varirati od 0 - 65535 Ovisno o duljini, potrošnja memorije kretala bi se od 0 - 65535 bajtova. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Razumimo detaljnije tip podataka BINARY. Stvorit ćemo tablicu sa stupcem svaki od binarnih i varbinarnih vrsta podataka i pregledati sadržaj.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Sada smo vidjeli izlaz kao BLOB što znači - B inary L loše OB ject - a to nisu ništa drugo nego binarni / hex prikaz vrijednosti Stringa koje smo umetnuli u stupce.
Sada ćemo pregledati vrijednosti ovih binarnih nizova i vidjeti kako su pohranjene.
Prvo, pogledajmo vrijednost prisutnu u 'binary_col' koja je BINARY tipa podataka.
Da shvatimo koje su vrijednosti koje se pohranjuju - ako primijetite vrijednosti u prvih 5 unosa - tj. U prvom retku i prvih 5 stupaca (0-4)
Ovo su samo HEX prikazi za likove stringa 'hello' koje smo pohranili.
Budući da se radi o BINARY tipu podataka duljine 50, možemo vidjeti da su ostaci bajtova prepunjeni vrijednostima '00' što nije ništa drugo nego predstavljanje bajta za znamenku '0'.
Pogledajte vrijednost prisutnu u 'varbinary_col' koja je tipa podataka VARBINARY.
Ovdje, za VARBINARY, možete vidjeti da su vrijednosti samo popunjene za duljinu od 5, što je ekvivalentno duljini niza koju smo pohranili. Ne postoji nikakvo popunjavanje iako smo proglasili VARBINARSKI stupac duljine 50.
BLOB I TEKST
Tipovi podataka BLOB i TEXT slični su vrstama podataka BINARY i CHAR s tom razlikom što mogu podržati veće veličine u odnosu na svoje osnovne kolege.
Važno je napomenuti da BLOB podatke pohranjuje kao binarne nizove, dok se TEXT vrsta podataka pohranjuje kao nebinarne žice. Također, sve ove vrste podataka ne zahtijevaju navođenje duljine uz spominjanje vrste podataka. Oni su u prirodi promjenjive duljine i troše memoriju samo na ono što je pohranjeno kao stvarna vrijednost stupca.
BLOB tipovi podataka obično se koriste za pohranu datoteka poput slika, pdf dokumenata itd. Kao binarnih nizova na siguran i učinkovit način.
Pojedinosti o različitim varijantama tipova podataka BLOB i TEXT navedene su u nastavku:
Tip | Domet | Opis | Primjeri |
---|---|---|---|
TINYTEXT | 0-255 (255 bajtova) | Raspon je isti kao i VARCHAR - koristi se za pohranu malih podataka poput naslova, imena autora itd. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEKST | 0-65535 (64 KB) | Ova vrsta podataka dovoljna je za pohranu teksta za mali ili srednji članak. | CREATE TABLE text_example(text_col TEXT); |
SREDNJI TEKST | 0-16.777.215 (16 MB) | Ova vrsta podataka može biti dovoljna za pohranu teksta za čitav udžbenik | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
DUGI TEKST | 0 - 4.294.967.295 (4 GB) | LONGTEXT se rijetko koristi posebno u slučajevima kada MEDIUMTEXT nije dovoljan. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 bajtova) | Sve BLOB vrste podataka koriste se za pohranu binarnih nizova i općenito su poželjne za pohranu datoteka poput slika, pdf dokumenata ili samih malih aplikacija. Ovisno o zahtjevima veličine, mogu se odabrati i koristiti različite vrste podataka BLOB. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
BLOB | 0-65535 (64 KB) | CREATE TABLE blob_example(blob_col BLOB); | |
LONGBLOB | 0 - 4.294.967.295 (4 GB) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ENUM
ENUM je vrsta podataka String koja unaprijed definira dopuštene vrijednosti koje stupac može imati. Sličan je tipovima podataka ENUM koji postoje u različitim programskim jezicima poput JAVA, C # itd.
Vrijednosti ENUM-a, kada su pohranjene, pretvaraju se u brojeve u odnosu na vrijednost svake kolone što rezultira znatnom uštedom memorije za tablice s velikim brojem zapisa, tj. Pretpostavimo da imamo ENUM koji ima vrijednosti - value1, value2 i value3, tada bi stvarna memorija bila numerička indeksi 1,2,3 iza kulisa.
Sintaksa:
ENUM({comma separated enum values})
Primjer upita:
Stvorite tablicu s 2 stupca za pohranu mobilnih modela kao String i imena tvrtki kao ENUM tipove podataka koji imaju vrijednosti - APPLE, SAMSUNG i NOKIA. Pogledajmo i upite za dohvaćanje podataka prema određenoj vrijednosti ENUM-a.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA')); INSERT INTO mobile_details values ('IPHONE X', 'APPLE'),('GALAXY M1', 'SAMSUNG'), ('GALAXY M2', 1) ;
U gornjem upitu možete vidjeti da smo tijekom umetanja koristili imena Enum, kao i numeričke indekse.
Pokušajmo postaviti upit svim mobilnim uređajima s imenom marke „SAMSUNG“, kao i upite prema numeričkom indeksu SAMSUNG-a koji je „1“.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Izlaz oba gornja upita bit će isti kao što je spomenuto u nastavku:
SET
MySQL SET tip podataka je objekt String koji može imati jednu ili više vrijednosti iz dopuštenog raspona kako je opisano tijekom definiranja stupca. Slično je ENUM-u, ali omogućuje da se više vrijednosti s definiranog popisa povežu kao vrijednosti stupaca.
Također, SET tipovi podataka pohranjuju se kao indeksi brojeva počevši od 2 ^ 0 - tj. 1,2,4,8 itd.
Sintaksa:
SET({comma separated list of allowed values})
Primjer:
Pokušajmo s primjerima razumjeti tip podataka SET. Stvorit ćemo tablicu nazvanu mobile_details s modelom stupca tipa String i stupcem nazvanim podržani OS koji je postavljeni tip podataka i sadrži popis podržanih verzija operativnog sustava.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Vidimo da smo vrijednosti operativnog sustava naveli kao dio stupca koji ima tip podataka SET. Odgovarajuće DECIMALNE vrijednosti koje su im dodijeljene navedene su u nastavku:
Ako želimo dodijeliti vrijednost SET, na primjer, ‘Android8, android9’ retku možemo jednostavno dodijeliti dodavanje dodijeljenih decimalnih vrijednosti, tj. 12 da bi imali isti učinak.
Pogledajte gornji upit INSERT za dodjelu retka s imenom modela „GALAXYM1“
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Izlaz gornje naredbe:
Također možemo postaviti upit prema stupcu SET prema njihovom decimalnom predstavljanju - pretpostavimo da želimo tražiti 'ios9, ios10' - zbroj decimalnog prikaza je 3, pa možemo tražiti kao:
SELECT * from mobile_details where supported_os=3
Izlaz:
Posebne vrste podataka
BOOLEAN
Logički tip podataka MySQL pohranjuje vrijednost stupca kao TRUE ili FALSE. Ovaj je tip podataka općenito pogodan za spremanje vrijednosti zastavica u MySQL tablice. Na primjer - Tablica bankovnog računa koja ima stupac pod nazivom is_savings_account može pohraniti true ili false.
Vrijednost BOOLEAN pohranjena je u MySQL kao 1 ili 0 za TRUE, odnosno FALSE.
Sintaksa:
columnName BOOLEAN
Primjer:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Tijekom umetanja ili dohvaćanja vrijednosti za tip podataka BOOLEAN možemo koristiti TRUE ili FALSE ili njihove numeričke prikaze - tj. 1 ili 0.
select * from account_details where is_savings=1;
Izlaz gornje naredbe:
JSON
MySQL podržava izvorni JSON kao vrstu podataka za objekte u JSON notaciji. To olakšava pohranu, upite i pronalaženje dokumenata tipa JSON, a ne spremanje kao tekstualne nizove ili binarne blobove.
Sintaksa:
columnName JSON
Činjenice:
Definicija | Domet | Primjeri |
---|---|---|
JSON vrsta podataka koristi se za pohranu dokumenata koji su u JSON formatu. Bilo koji stupac definiran kao JSON izbacit će pogrešku ako je INSERT upit spremi nevažeći JSON. | Raspon ili veličina JSON tipa podataka slična je LONGTEXT ili LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Primjer:
MySQL nudi različite funkcije za ispitivanje JSON podataka. Pokušajmo umetnuti ispod JSON-a i tada ćemo vidjeti MySQL funkcije za upit.
{ 'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johson', } }
Pogledajmo naredbe za stvaranje tablice i umetanje JSON podataka.
create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johnson' }}');
Ispitajte tablicu i ispišite polja imena i e-pošte iz JSON podataka koji su pohranjeni u retke tablice.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Izlaz:
Često postavljana pitanja
P # 1) Kako možemo promijeniti vrstu podataka za MySQL stupac jednom dodijeljen?
Odgovor: Tip podataka stupca može se promijeniti pomoću Naredba ALTER TABLE .
Razmotrimo tablicu student_info koja ima 2 stupca, odnosno naziv i dob tipova VARCHAR i INT. To se može postići pomoću sljedeće naredbe CREATE TABLE:
CREATE TABLE student_info(name CHAR(20), age INT);
Postoji nekoliko varijacija ove naredbe
pitanja i odgovori na intervju za podršku pdf
- Ako želimo promijeniti samo vrstu podataka stupca - Možemo koristiti naredbu MODIFY zajedno s ALTER
Pretpostavimo da u gornjoj tablici želimo promijeniti vrstu podataka stupca dobi možemo upotrijebiti sljedeću naredbu
ALTER TABLE student_info MODIFY age TINYINT
- Ako želimo promijeniti naziv stupca kao i vrstu podataka stupca - Naredbu CHANGE možemo koristiti zajedno s ALTER
Pretpostavimo da u gornjoj tablici želimo promijeniti naziv stupca iz 'name' u 'sname' i tip podataka iz CHAR u VARCHAR (50), možemo koristiti sljedeću naredbu:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
P # 2) Koji je tip podataka za sliku u mysqlu?
Odgovor: Za spremanje bilo koje vrste datoteka u MySQL poput slika, pdf-a itd. BLOB ili binarni tip podataka najprikladniji je tip. Dostupne su različite varijante tipa podataka BLOB, ovisno o veličini ciljne datoteke koju želimo pohraniti. Možemo koristiti varijante BLOB-a poput - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
P # 3) Koji je tip podataka prikladniji za spremanje dokumenata u mysql?
Odgovor: Slično BLOB-u za slike ili pdf datoteke, za pohranu tekstualnih dokumenata / članaka može se koristiti tip podataka TEXT. Ovo je proširenje za tip podataka CHAR s podrškom za dodatnu pohranu znakova.
Dostupne su različite varijante tipa podataka TEXT - TEKST, TINIKSTEKT, SREDNJI TEKST I DUGI TEKST
P # 4) Koji je tip podataka za valutu u MySQL-u?
Odgovor: Za pohranu podataka za vrijednosti valuta, najprikladnija vrsta podataka je DECIMALNA. Koristi se za pohranu tipova podataka s točno točnošću. Na primjer, naziv stupca tipa DECIMAL (4,2), pohranit će vrijednosti u rasponu od -99,99 do 99,99 i vratiti vrijednost s istom preciznošću prilikom dohvaćanja. aproksimacija brojeva s pomičnom zarezom.
P # 5) Što se događa ako netko pokuša umetnuti negativne brojeve za UNSIGNED integer stupce?
Odgovor: MySQL generira pogrešku za takve izjave za umetanje
Pokušajmo stvoriti tablicu s INT stupcem koji ima opciju UNSIGNED.
CREATE TABLE int_unsigned(age INT UNSIGNED); INSERT into int_unsigned values(-350);
Error Code: 1264. Out of range value for column 'int_col_with_options' at row 1
P # 6) Kako dobiti podatke o trenutnom datumu u mysqlu?
Odgovor: MySQL nudi 2 ugrađene funkcije vremena i vremena za dohvaćanje trenutnih vrijednosti
Funkcija CURDATE () vraća trenutni datum
SELECT CURDATE();
Izlaz
2020-08-10
Funkcija NOW () vraća trenutni datum s vremenskom oznakom.
SELECT NOW();
Izlaz
2020-08-10 00:42:54
P # 7) Bez CHAR-a i VARCHAR-a - koji je prikladniji?
Odgovor: VARCHAR znači promjenjivi znak i ima važnu prednost što troši manje memorije u odnosu na CHAR iste duljine. Na primjer, Stupac s VARCHAR (50) ako pohranjuje nizove duljine 20 rezultirao bi potrošnjom samo 20 bajtova za razliku od vrste podataka deklarirane s CHAR (50)
P # 8) Kako ažurirati vrijednost ENUM-a u MySQL-u?
Odgovor: Da biste ažurirali stupac ENUM u MySQL, morat ćete izmijeniti spominjanje postojećih vrijednosti stupaca tako da postojeći unosi ostanu netaknuti.
Pokušajmo to razumjeti na primjeru.
Pretpostavimo da imamo tablicu nazvanu mobile_details koja ima polje modela kao String (VARCHAR), a stupac marke kao ENUM s početnim vrijednostima kao 'APPLE', SAMSUNG i 'NOKIA'
Sada, pretpostavimo da želimo dodati još jedno ime marke 'MOTOROLA' postojećem nabrajanju. Pogledajmo upite koje bismo trebali izvršiti.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Jednom stvorene, možete dobiti detalje izvornih vrijednosti ENUM-a pomoću naredbe DESCRIBE
DESCRIBE mobile_details;
Izvršimo sada naredbu za ažuriranje ENUM-a
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Ponovno možemo pokrenuti naredbu DESCRIBE da vidimo jesu li ažuriranja uspješno primijenjena.
DESCRIBE mobile_details
Evo rezultata gornje naredbe:
Zaključak
U ovom smo tutorijalu saznali o različitim vrstama podataka koje podržava MySQL.
Doznali smo o numeričkim, plutajućim, nizovnim i datumskim tipovima podataka zajedno sa sintaksom i različitim primjerima.
MySQL tipovi podataka temeljni su blokovi za početak i jedan od najvažnijih aspekata tijekom dizajna MySQL sheme.
Preporučena literatura
- Vrste podataka C ++
- Python tipovi podataka
- Vrste podataka i varijable C # s primjerima
- PL SQL vrste podataka, varijable, konstante i literale
- Tipovi podataka niza - int niz, dvostruki niz, niz žica itd.
- Izjava o brisanju MySQL - Izbriši sintaksu naredbe i primjere
- MySQL Umetni u tablicu - Umetni sintaksu i primjere izjave
- MySQL JOIN Vodič: Unutarnji, vanjski, križni, lijevi, desni i ja