mysql data types what are different data types mysql
Spoznajte različne vrste podatkov MySQL, npr. Numeric, String, Data type, JSON, Boolean itd., S primeri:
V tej vadnici bomo spoznali različne vrste podatkov, ki jih podpira MySQL. Podatkovni tipi so določeni za vsak stolpec, ko je tabela ustvarjena in tudi med posodabljanjem / spreminjanjem tabele, da se obstoječi tabeli doda nov stolpec
Spoznali bomo podatkovne tipe v treh različnih kategorijah, tj.številski podatkovni tip, podatkovni tipi String in podatkovni tipi Datetime.
Kaj se boste naučili:
Vrste podatkov MySQL
Predpogoji
Vse vrste podatkov se bomo učili z delovnimi primeri v MySQL. Zato je za izvedbo poizvedb skupaj s podrobnostmi za boljše razumevanje koncepta priporočljivo namestiti MySQL.
Prav tako lahko ustvarite vzorčno zbirko podatkov z imenom sql_data_types, ki bi vsebovala vse tabele, ki bi jih uporabili za primere.
create database sql_data_types; use sql_data_types;
Numerične vrste podatkov
Numerične vrste podatkov lahko razdelimo na 3 vrste:
- Vrste celih podatkov
- Vrste fiksnih točk
- Vrste s plavajočo vejico
Pogovorimo se o vsakem od teh:
Vrste celih podatkov
Ti podatkovni tipi podpirajo cela števila brez kakršnega koli decimalnega prikaza. Obstajajo različne podvrste, kot so - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Sintaksa:
INT[(width)] [UNSIGNED] [ZEROFILL]
Dejstva:
Opis | Doseg | Spomin | Opcije |
---|---|---|---|
SREDNJI KOS | 0-16.777.215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Najpogosteje uporabljeni številski tip. Shranjuje cele številke DEFAULT - Nepodpisane vrednosti | –2.147.483.648 do 2.147.483.647 | 4 bajti | Če se uporablja z možnostjo UNSIGNED - Obseg se spremeni v 0 do 4.294.967.295 Možnost širine lahko z ZEROFILL uporabite za zapolnitev vnosov z vrednostmi, manjšimi od širine |
Primeri:
Ustvarili bomo tabelo z 1 stolpcem z vrsto podatkov INT in različnimi možnostmi.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Izhod ukaza 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;
Izhod zgornjega ukaza:
Druge različice INT:
Za INT je na voljo več možnosti, odvisno od posebnih zahtev. Običajno se uporabljajo, kadar je zaskrbljujoč pomnilnik ali prostor, vendar je za vse praktične namene INT najpogosteje uporabljen.
Spodaj so navedene različne različice vrste podatkov INT, ki so na voljo:
DataType | Doseg | Primer | Uporabljeni pomnilnik / bajti |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1. |
TRAG | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | dva |
SREDNJA | -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 plavajočo vejico
Vrste s plavajočo vejico so približne vrste vrednosti, kar je odvisno od št. natančnosti v decimalni vejici, določeni med deklaracijo tipa stolpca.
Obstajata 2 vrsti podatkovnih tipov s plavajočo vejico: FLOAT in DOUBLE, ki podpirata različne razpone in porabljata pomnilnik / pomnilnik.
FLOAT & DOUBLE
V skladu z novo priporočeno sintakso - natančnost FLOAT in DOUBLE lahko določite z uporabo samo podatkovnih tipov FLOAT.
Sintaksa:
FLOAT(p)
Tukaj, str -> natančnost
Dejstva:
Opis | Spomin | Opcije | Primeri |
---|---|---|---|
FLOAT / DOUBLE predstavlja števila s plavajočo vejico s približnimi vrednostmi Tj. ko MySQL shrani te vrednosti, se te vrednosti približajo z natančnostjo do deklarirane vrste. Natančnost med 0-23 predstavlja tip FLOAT, medtem ko bi od 24 do 53 ustvaril dvojni tip, ki bi porabil 8 bajtov | -Natančnost - 0-23 => 4 bajta -Natančnost -24-53 => 8 bajtov | - Številke s plavajočo vejico lahko podpišete in podpišete -FLOAT je na splošno natančen do 7 decimalnih mest, medtem ko je DOUBLE natančen do 14 decimalnih mest -Postoji še en nestandarden način razglasitve FLOAT in DOUBLE s specifikacijo natančnih točk FLOAT (n, d) - kjer je n skupna števila in d ni decimalnih mest | -Ustvari tabelo s stolpcem DOUBLE podatkovni tip USTVARI TABELO numbers_double (double_col FLOAT (30)); -Ustvari tabelo s stolpcem DVOJNI tip podatkov in natančnostjo števk kot 5 USTVARI TABELO numbers_double (double_col DOUBLE (20,5)); |
Oglejmo si nekaj primerov pridobivanja vrednosti dvojnih vrst:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Izpis stavka SELECT:
Tu lahko vidimo, da so vrednosti shranjene do 5 decimalnih mest, kot je določeno med deklaracijo podatkovnega tipa.
Vrste fiksnih točk
Ti podatkovni tipi se uporabljajo za natančno shranjevanje natančne vrednosti. Te vrste podatkov se običajno uporabljajo, kadar je potrebno natančno natančno shranjevanje. Na primer na bančnih računih je treba vzdrževati stanja z dvema decimalnima mestoma, podatke moramo shraniti s točno natančnostjo.
DECIMALNO / ŠTEVILČNO
Sintaksa:
DECIMAL[(width[,decimals])] [UNSIGNED] [ZEROFILL]
Dejstva:
Opis | Doseg | Spomin | Opcije |
---|---|---|---|
DECIMAL je numerični podatkovni tip v MySQL in shranjuje natančne vrednosti z določeno natančnostjo. Privzeta lestvica ali širina za podatkovni tip DECIMAL je natančnost 10 in 0. Prosimo, upoštevajte, da se vrsti DECIMAL in NUMERIC lahko uporabljata med seboj. | Odvisno od določenega obsega Na primer DECIMAL (5,2) bi imel razpon od -999,99 do 999,99 | Binarni format uporabnikov MySQL za shranjevanje podatkovnega tipa DECIMAL - Za vsakih 9 mest potrebuje štiri bajte - Torej na primer, če imamo DECIMAL (14,2) - bi skupaj potrebovali - 9 (4) + 2 (1) => 7 bajtov | -Maksimalna vrednost širine je lahko 265 -Število decimalnih mest ni obvezno in privzeta vrednost je 0 |
Primer:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Vrste podatkov DateTime
Podatkovni tipi DateTime v MySQL, kot že ime pove, se uporabljajo za shranjevanje datumskih in časovnih vrednosti v zbirki podatkov MySQL.
MySQL podpira 2 časovni vrsti - DATETIME in TIMESTAMP
O obeh se pogovorimo v spodnjih oddelkih.
DATUM ČAS
Sintaksa:
DATETIME(n)
Tu je n -> natančnost / delni del sekundnega dela (največja podprta natančnost je 6).
Dejstva:
Opis | Doseg | Spomin | Primeri |
---|---|---|---|
Uporablja se za shranjevanje datuma in ure v stolpcu MySQL Na vprašanje, podatki stolpca prikazujejo datum in čas v spodnji obliki: LLLL-MM-DD HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 bajtov Ko je delni del vključen, se za vsaki 2 delni števki porabi dodaten bajt. | CREATE table datetime_example(date_col DATETIME); // IZHOD date_col 2020-08-08 22:22:53 |
TIMESTAMP
Sintaksa:
TIMESTAMP(n)
Tu je n -> natančnost / delni del sekundnega dela (podprta največja natančnost je 6)
Dejstva:
Opis | Doseg | Spomin | Primeri |
---|---|---|---|
Druga časovna vrsta podatkov, ki se uporablja za shranjevanje datuma in časa. Ta shranjuje datumski čas kot UTC tudi z omejenim razponom med leti 1970 in 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 bajti | CREATE table timestamp_example(ts_col TIMESTAMP); IZHOD ts_col 2020-08-08 22:19:11 |
Vrste podatkov niza
Vrste podatkovnih nizov, kot že ime pove, se uporabljajo za shranjevanje nizov / besedil ali blobs besedilnih informacij v bazo podatkov. Na voljo so različne vrste podatkov, odvisno od primera uporabe -CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Razumejmo vsako od teh različnih vrst podatkov s primeri.
CHAR IN VARCHAR
Obe vrsti se uporabljata za shranjevanje nizov v stolpcih v MySQL, vendar se razlikujeta po načinu shranjevanja in pridobivanja vrednosti.
CHAR & VARCHAR sta prijavljena z dolžino, ki označuje največjo dolžino niza, ki ga želite shraniti v stolpec.
Sintaksa:
CHAR(n) VARCHAR(n)
Tu je n -> največ št. znakov, ki jih bo shranil stolpec
Dejstva:
Tip | Opis | Doseg | Primeri |
---|---|---|---|
CHAR Sintaksa - CHAR (n) | CHAR lahko shrani niz 'n' length, kot je opredeljen med izjavo. Če je niz nižji od n znakov, je obložen s presledki. | Dolžina podatkovnega tipa CHAR se lahko razlikuje od 0 - 255 Poraba pomnilnika bi bila od 0 do 255 bajtov, odvisno od dolžine. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Sintaksa - VARCHAR (n) | VARCHAR vam omogoča shranjevanje nizov spremenljive dolžine in porabo pomnilnika glede na dejansko velikost shranjenega niza in ne na največjo vrednost, določeno med definicijo stolpca. | Dolžina podatkovnega tipa VARCHAR se lahko razlikuje od 0 - 65535 Poraba pomnilnika bi bila od 0 do 65535 bajtov, odvisno od dolžine. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINARNA IN VARBINARNA
Podobno kot CHAR in VARCHAR - ti tipi podatkov shranjujejo nize, vendar v binarni obliki.
Dolžina podatkovnih vrst BINARY in VARBINARY se meri v bajtih, v nasprotju s številom znakov v podatkovnih tipih CHAR in VARCHAR.
Sintaksa:
BINARY(n) VARBINARY(n)
Tu je n -> največ št. bajtov, ki jih mora shraniti stolpec.
Dejstva:
Tip | Opis | Doseg | Primeri |
---|---|---|---|
BINARNA Sintaksa - BINARY (n) | BINARY lahko shrani ‘n’ binarnih bajtov. Za vrednosti, manjše od n, so desno podložene z 0 bajti in shranjene | Dolžina podatkovnega tipa BINARY se lahko razlikuje od 0 - 255 Poraba pomnilnika bi bila od 0 do 255 bajtov, odvisno od dolžine. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINARSKA Sintaksa - VARBINARY (n) | VARBINARY omogoča shranjevanje binarnih nizov s spremenljivo dolžino do dolžine n (kot je določeno v definiciji stolpca) | Dolžina podatkovnega tipa VARBINARY se lahko razlikuje od 0 - 65535 Poraba pomnilnika bi bila od 0 do 65535 bajtov, odvisno od dolžine. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Podrobneje razumemo tip podatkov BINARY. Ustvarili bomo tabelo s stolpcem vsakega od binarnih in varbinarnih podatkovnih vrst ter pregledali vsebino.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Zdaj smo videli izhod kot BLOB, kar pomeni - B inary L slab OB ject - in to niso nič drugega kot binarna / šestnajstiška predstavitev vrednosti String, ki smo jih vstavili v stolpce.
Zdaj bomo pregledali vrednosti teh binarnih nizov in videli, kako so shranjene.
Najprej poglejmo vrednost, ki je prisotna v 'binary_col', ki je podatkovnega tipa BINARY.
Razumejmo, katere so vrednosti, ki se shranjujejo - če opazite vrednosti v prvih 5 vnosih - tj. V prvi vrstici in prvih 5 stolpcih (0-4)
To so le predstavitve HEX za znake niza 'hello', ki smo jih shranili.
Ker gre za podatkovni tip BINARY dolžine 50, lahko vidimo, da so ostali bajti obloženi z vrednostmi '00', kar ni nič drugega kot predstavitev bajtov za številko '0'.
Oglejte si vrednost, ki je prisotna v „varbinary_col“, ki je podatkovnega tipa VARBINARY.
Tu lahko za VARBINARY vidite, da so vrednosti pravkar izpolnjene za dolžino 5, kar je enako dolžini niza, ki smo jo shranili. Ni nič oblazinjenja, čeprav smo razglasili stolpec VARBINARY dolžine 50.
BLOB IN BESEDILO
Podatkovni tipi BLOB in TEXT so podobni podatkovnim vrstam BINARY in CHAR z razliko, da lahko podpirajo večje velikosti kot njihovi osnovni kolegi.
Pomembno je omeniti, da BLOB podatke shranjuje kot binarne nize, medtem ko tip podatkov TEXT shranjuje kot nebinarne nize. Prav tako vsi ti tipi podatkov ne zahtevajo navedbe dolžine ob omembi podatkovnega tipa. Po naravi imajo spremenljivo dolžino in porabijo pomnilnik samo za tisto, ki je shranjena kot dejanska vrednost stolpca.
Podatkovni tipi BLOB se običajno uporabljajo za varno in učinkovito shranjevanje datotek, kot so slike, dokumenti pdf itd., Kot binarni nizi.
Podrobnosti o različnih različicah podatkovnih tipov BLOB in TEXT so navedene spodaj:
Tip | Doseg | Opis | Primeri |
---|---|---|---|
TINYTEXT | 0-255 (255 bajtov) | Obseg je enak VARCHAR - Uporablja se za shranjevanje majhnih informacij, kot so naslovi, imena avtorjev itd. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
BESEDILO | 0-65535 (64 KB) | Ta vrsta podatkov zadostuje za shranjevanje besedila za majhen do srednje velik članek. | CREATE TABLE text_example(text_col TEXT); |
SREDNJE BESEDILO | 0-16.777.215 (16 MB) | Ta vrsta podatkov lahko zadostuje za shranjevanje besedila za celoten učbenik | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0 - 4.294.967.295 (4 GB) | LONGTEXT se redko uporablja posebej, kadar MEDIUMTEXT ne zadostuje. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 bajtov) | Vsi tipi podatkov BLOB se uporabljajo za shranjevanje binarnih nizov in so na splošno prednostni za shranjevanje datotek, kot so slike, pdf dokumenti ali majhne aplikacije. Glede na zahteve glede velikosti je mogoče izbrati in uporabiti različne vrste podatkov 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 podatkovni tip String, ki vnaprej definira dovoljene vrednosti, ki jih lahko ima stolpec. Podobno je podatkovnim vrstam ENUM, ki obstajajo v različnih programskih jezikih, kot so JAVA, C # itd.
Vrednosti ENUM se pri shranjevanju pretvorijo v številke v primerjavi z vsako vrednostjo stolpca, kar povzroči precejšen prihranek pomnilnika za tabele z velikim številom zapisov, tj. Domnevamo, da imamo ENUM z vrednostmi - vrednost1, vrednost2 in vrednost3, potem bi bilo dejansko pomnilniško število indeksi 1,2,3 v zakulisju.
Sintaksa:
ENUM({comma separated enum values})
Primeri poizvedb:
Ustvarite tabelo z 2 stolpcema za shranjevanje mobilnih modelov kot nizov in imen podjetij kot podatkovnih tipov ENUM z vrednostmi - APPLE, SAMSUNG in NOKIA. Oglejmo si tudi poizvedbe za pridobivanje podatkov glede na določeno vrednost ENUM.
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) ;
V zgornji poizvedbi lahko vidite, da smo med vstavljanjem uporabljali tako imena Enum kot tudi številske indekse.
Poskusimo poizvedovati po vseh mobilnih napravah z blagovno znamko 'SAMSUNG' in poizvedovati glede na številčni indeks SAMSUNG, ki je '1'.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Izhod obeh zgornjih poizvedb bo enak, kot je navedeno spodaj:
SET
Podatkovni tip MySQL SET je objekt String, ki ima lahko eno ali več vrednosti iz dovoljenega obsega, kot je opisano med definicijo stolpca. Podobno je ENUM, vendar omogoča, da se več vrednosti z definiranega seznama poveže kot vrednosti stolpcev.
Podatkovni tipi SET se shranjujejo tudi kot številski indeksi z začetkom 2 ^ 0 - tj. 1,2,4,8 itd.
Sintaksa:
SET({comma separated list of allowed values})
Primer:
Poskusimo s primeri razumeti podatkovni tip SET. Ustvarili bomo tabelo z imenom mobile_details z modelom stolpca tipa String in stolpcem z imenom podprti OS, ki je nastavljen podatkovni tip in vsebuje seznam podprtih različic operacijskega sistema.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Vidimo, da smo vrednosti operacijskega sistema navedli kot del stolpca s podatkovnim tipom SET. Ustrezne DECIMALNE vrednosti, ki so jim dodeljene, so navedene spodaj:
Zdaj, če želimo dodeliti vrednost SET, na primer, ‘Android8, android9’ v vrstico lahko preprosto dodamo dodeljeno decimalno vrednost, tj. 12, da imamo enak učinek.
Glejte zgornjo poizvedbo INSERT za dodelitev vrstici z imenom modela „GALAXYM1“
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Izhod zgornjega ukaza:
Poizvedemo lahko tudi stolpec SET glede na njihovo decimalno predstavitev - domnevamo, da želimo poizvedovati za ios9, ios10 - vsota decimalne predstavitve je 3, zato lahko poizvedujemo kot:
SELECT * from mobile_details where supported_os=3
Izhod:
Posebne vrste podatkov
BOOLEAN
Logični podatkovni tip MySQL shrani vrednost stolpca kot TRUE ali FALSE. Ta podatkovni tip je na splošno primeren za shranjevanje vrednosti zastavic v tabelah MySQL. Na primer - Tabela bančnega računa, ki ima stolpec z imenom is_savings_account, lahko shrani bodisi true ali false.
Vrednost BOOLEAN je v MySQL shranjena kot 1 oziroma 0 za TRUE in FALSE.
Sintaksa:
columnName BOOLEAN
Primer:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Med vstavljanjem ali pridobivanjem vrednosti za podatkovni tip BOOLEAN lahko uporabimo TRUE ali FALSE ali njihove številčne predstavitve - tj. 1 ali 0.
select * from account_details where is_savings=1;
Izhod zgornjega ukaza:
JSON
MySQL podpira izvorni JSON kot podatkovni tip za predmete v zapisu JSON. Olajša shranjevanje, poizvedovanje in iskanje dokumentov tipa JSON, namesto da bi jih shranili kot besedilne nize ali binarne Blobs.
Sintaksa:
columnName JSON
Dejstva:
Definicija | Doseg | Primeri |
---|---|---|
Podatkovni tip JSON se uporablja za shranjevanje dokumentov v obliki JSON. Vsak stolpec, definiran kot JSON, bi povzročil napako, če je poizvedba INSERT shranila neveljaven JSON. | Obseg ali velikost podatkovnega tipa JSON je podobna LONGTEXT ali LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Primer:
MySQL ponuja različne funkcije za poizvedovanje po podatkih JSON. Poskusimo vstaviti pod JSON in nato bomo videli funkcije MySQL za poizvedbo.
{ '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', } }
Oglejmo si ukaze za ustvarjanje tabele in vstavljanje podatkov JSON.
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' }}');
Poizvedite tabelo in natisnite imena in e-poštna polja iz podatkov JSON, ki so shranjeni v vrsticah tabele.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Izhod:
Pogosto zastavljena vprašanja
V # 1) Kako lahko spremenimo podatkovni tip za stolpec MySQL, ko je enkrat dodeljen?
Odgovor: Podatkovni tip stolpca lahko spremenite z Ukaz ALTER TABLE .
Razmislite o tabeli student_info z dvema stolpcema ime in starost vrst VARCHAR oziroma INT. To lahko dosežemo z naslednjim ukazom CREATE TABLE:
CREATE TABLE student_info(name CHAR(20), age INT);
Ta ukaz ima nekaj različic
najboljša programska oprema za gonilnike za Windows 10
- Če želimo spremeniti samo podatkovni tip stolpca - Skupaj z ALTER lahko uporabimo ukaz MODIFY
Recimo, da želimo v zgornji tabeli spremeniti podatkovni tip stolpca starost, lahko uporabimo naslednji ukaz
ALTER TABLE student_info MODIFY age TINYINT
- Če želimo spremeniti ime stolpca kot tudi vrsto podatkov stolpca - Skupaj z ALTER lahko uporabimo ukaz CHANGE
Recimo, da želimo v zgornji tabeli spremeniti ime stolpca iz 'name' v 'sname' in tip podatkov iz CHAR v VARCHAR (50), lahko uporabimo naslednji ukaz:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
V # 2) Kakšen je podatkovni tip za sliko v mysqlu?
Odgovor: Za shranjevanje katere koli vrste datotek v MySQL, kot so slike, pdf itd., Je BLOB ali binarni podatkovni tip najbolj primeren tip. Na voljo so različne različice podatkovnega tipa BLOB, odvisno od velikosti ciljne datoteke, ki jo želimo shraniti. Uporabljamo lahko različice BLOB, kot so - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
V # 3) Kateri podatkovni tip je bolj primeren za shranjevanje dokumentov v mysqlu?
Odgovor: Podobno kot BLOB za slike ali datoteke pdf je tudi za shranjevanje besedilnih dokumentov / člankov mogoče uporabiti podatkovni tip TEXT. To je razširitev podatkovnega tipa CHAR s podporo za shranjevanje dodatnih znakov.
Na voljo so različne različice podatkovnega tipa TEXT - TEKST, TINYTEXT, SREDNJI BESEDILO IN LONGTEXT
V # 4) Kakšen je podatkovni tip za valuto v MySQL?
Odgovor: Za shranjevanje podatkov za vrednosti valut je najprimernejši tip podatkov DECIMAL. Uporablja se za natančno shranjevanje podatkovnih vrst. Na primer ime stolpca s tipom DECIMAL (4,2), bi shranilo vrednosti v območju od -99,99 do 99,99 in vrnilo vrednost z enako natančnostjo pri iskanju, za razliko od. približek za števila s plavajočo vejico.
V # 5) Kaj se zgodi, če nekdo poskuša vstaviti negativna števila za NEPODPISANE celoštevilčne stolpce?
Odgovor: MySQL ustvari napako za take vstavke
Poskusimo ustvariti tabelo s stolpcem INT z možnostjo 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
V # 6) Kako dobiti podatke o trenutnem datumu v mysqlu?
Odgovor: MySQL ponuja 2 vgrajeni funkciji časovnega datuma za pridobivanje trenutnih vrednosti
Funkcija CURDATE () vrne trenutni datum
SELECT CURDATE();
Izhod
2020-08-10
Funkcija NOW () vrne trenutni datum s časovnim žigom.
SELECT NOW();
Izhod
2020-08-10 00:42:54
V # 7) Od CHAR in VARCHAR - katera je bolj primerna?
Odgovor: VARCHAR pomeni spremenljiv znak in ima pomembno prednost, ker porabi manj pomnilnika kot CHAR z enako dolžino. Na primer Stolpec z VARCHAR (50), če shrani nize dolžine 20, bi povzročil porabo le 20 bajtov v nasprotju z vrsto podatkov, prijavljeno s CHAR (50)
V # 8) Kako posodobiti vrednost ENUM v MySQL?
Odgovor: Če želite posodobiti stolpec ENUM v MySQL, boste morali spremeniti omembe obstoječih vrednosti stolpcev, tako da bodo obstoječi vnosi ostali nedotaknjeni.
Poskusimo to razumeti s primerom.
Recimo, da imamo tabelo z imenom mobile_details, ki ima polje modela kot String (VARCHAR) in stolpec blagovne znamke kot ENUM, ki ima začetne vrednosti kot 'APPLE', SAMSUNG 'in' NOKIA '
Predpostavimo, da želimo obstoječemu naštevanju dodati še eno blagovno znamko 'MOTOROLA'. Poglejmo poizvedbe, ki bi jih morali izvesti.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Ko ste enkrat ustvarjeni, lahko z ukazom DESCRIBE dobite podrobnosti o izvirnih vrednostih ENUM
DESCRIBE mobile_details;
Zdaj zaženimo ukaz za posodobitev ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Ponovno lahko zaženemo ukaz DESCRIBE, da preverimo, ali so posodobitve uspešno uporabljene.
DESCRIBE mobile_details
Tukaj je rezultat zgornjega ukaza:
Zaključek
V tej vadnici smo spoznali različne vrste podatkov, ki jih podpira MySQL.
Spoznali smo vrste podatkov Numeric, Floating, String in Date, skupaj s sintakso in različnimi primeri.
Podatkovni tipi MySQL so temeljni gradniki za začetek in eden najpomembnejših vidikov pri načrtovanju sheme MySQL.
Priporočeno branje
- Vrste podatkov C ++
- Vrste podatkov Python
- Vrste podatkov in spremenljivke C # s primeri
- PL SQL vrste podatkov, spremenljivke, konstante in literale
- Vrste podatkov matrike - int matrika, dvojna matrika, niz nizov itd.
- Izjava MySQL Delete - Izbriši sintakso ukaza in primere
- MySQL Vstavi v tabelo - Vstavi sintakso in primere izjave
- Vadnica za MySQL JOIN: Notranja, zunanja, križna, leva, desna in lastna