mysql data types what are different data types mysql
Aflați despre diferite tipuri de date MySQL, adică numerice, șiruri, tipuri de date, JSON, Boolean etc., cu exemple:
În acest tutorial, vom afla despre diferite tipuri de date care sunt acceptate de MySQL. Tipurile de date sunt specificate pentru fiecare coloană atunci când se creează un tabel și, de asemenea, în timpul actualizării / modificării tabelului pentru a adăuga o coloană nouă la tabelul existent
Vom afla despre tipurile de date din trei categorii diferite, adică tipul de date numerice, tipurile de date șir și tipurile de date Datetime.
Ce veți învăța:
Tipuri de date MySQL
Precondiții
Vom învăța toate tipurile de date cu exemple de lucru în MySQL. Prin urmare, este recomandat să aveți MySQL instalat pentru a executa interogările împreună cu detalii pentru o mai bună înțelegere a conceptului.
De asemenea, puteți crea un exemplu de bază de date numit sql_data_types care să conțină toate tabelele pe care le-am folosi ca exemple.
create database sql_data_types; use sql_data_types;
Tipuri de date numerice
Tipurile de date numerice pot fi împărțite în 3 tipuri:
- Tipuri de date întregi
- Tipuri de puncte fixe
- Tipuri în virgulă mobilă
Să discutăm fiecare dintre acestea:
Tipuri de date întregi
Aceste tipuri de date acceptă numere întregi fără nicio reprezentare zecimală. Există diferite subtipuri precum - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Sintaxă:
INT((width)) (UNSIGNED) (ZEROFILL)
Fapte:
Descriere | Gamă | Memorie | Opțiuni |
---|---|---|---|
MEDIUMBLOB | 0-16.777.215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Cel mai frecvent utilizat tip numeric. Stochează numere întregi DEFAULT - Valori nesemnate | –2.147.483.648 până la 2.147.483.647 | 4 octeți | Dacă este utilizat cu opțiunea UNSIGNED - Gama se modifică în 0 la 4.294.967.295 Opțiunea Lățime poate fi utilizată cu ZEROFILL pentru a bloca intrările cu zero pentru valori mai mici decât lățimea |
Exemple:
Vom crea un tabel cu 1 coloană cu tip de date INT și diferite opțiuni.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Ieșirea comenzii 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;
Ieșirea comenzii de mai sus:
Alte variante ale INT:
Există mai multe opțiuni disponibile pentru INT în funcție de cerințele specifice. Acestea sunt utilizate în mod obișnuit atunci când memoria sau spațiul reprezintă o problemă, dar pentru toate scopurile practice, INT este cel mai utilizat.
Diferitele variații ale tipului de date INT disponibile sunt enumerate mai jos:
DataType | Gamă | Exemplu | Memorie / octeți utilizați |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
SMINTINT | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | Două |
MEDIUMINT | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
BIGINT | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Tipuri în virgulă mobilă
Tipurile cu virgulă mobilă sunt tipuri aproximative de valori și acest lucru depinde de nr. precizia punctului zecimal specificat în timpul declarației de tip coloană.
Există 2 tipuri de tipuri de date în virgulă mobilă: FLOAT și DOUBLE care acceptă intervale diferite și consumă memorie / stocare.
FLOAT & DOUBLE
Conform noii sintaxi recomandate - atât precizia FLOAT, cât și DOUBLE pot fi specificate folosind doar tipuri de date FLOAT.
Sintaxă:
FLOAT(p)
Aici, p -> precizie
Fapte:
Descriere | Memorie | Opțiuni | Exemple |
---|---|---|---|
FLOAT / DOUBLE reprezintă numere în virgulă mobilă cu valori aproximative Adică când MySQL stochează aceste valori, aceste valori sunt aproximate la cea mai apropiată precizie conform tipului declarat. Precizia între 0-23 reprezintă tipul FLOAT, în timp ce 24 până la 53 ar genera un tip dublu consumând 8 octeți | -Precizie - 0-23 => 4 octeți -Precizie -24-53 => 8 octeți | -Numele punctului plutitor pot fi SEMNATE, precum și NESEMNATE -FLOAT este în general precisă până la 7 zecimale, în timp ce DOUBLE este precisă până la 14 zecimale -Există, de asemenea, un alt mod non-standard de declarare FLOAT și DOUBLE cu specificarea punctelor de precizie FLOAT (n, d) - unde n reprezintă cifre totale și d nu este numărul de zecimale | -Creați tabelul cu o coloană DOUBLE tip de date CREARE TABEL numere_double (double_col FLOAT (30)); -Creați tabelul cu o coloană DOUBLE tip de date și cifre de precizie ca 5 CREATE TABLE numbers_double (double_col DOUBLE (20,5)); |
Să vedem câteva exemple de recuperare a valorilor tipurilor duble:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Ieșirea declarației SELECT:
Putem vedea aici că valorile sunt stocate până la 5 zecimale, după cum se specifică în timpul declarației tipului de date.
Tipuri de puncte fixe
Aceste tipuri de date sunt utilizate pentru a stoca o valoare exactă cu o precizie determinată. Aceste tipuri de date sunt utilizate de obicei atunci când este necesară o stocare exactă cu precizie. De exemplu, conturile bancare este o cerință pentru a menține soldurile cu 2 zecimale, avem nevoie de date pentru a fi stocate cu precizie exactă.
DECIMAL / NUMERIC
Sintaxă:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Fapte:
Descriere | Gamă | Memorie | Opțiuni |
---|---|---|---|
DECIMAL este un tip numeric de date în MySQL și stochează valori exacte cu precizia specificată. Scara sau lățimea implicită pentru tipul de date DECIMAL este de 10 și 0 de precizie. Vă rugăm să rețineți că tipurile de DECIMAL și NUMERIC pot fi utilizate în mod interschimbabil. | Depinde de intervalul specificat De exemplu DECIMAL (5,2) ar avea un interval cuprins între -999,99 și 999,99 | Utilizatorii MySQL format binar pentru a stoca tipul de date DECIMAL - Necesită patru octeți pentru fiecare 9 cifre - Deci de exemplu, dacă avem DECIMAL (14,2) - ar necesita un total de - 9 (4) + 2 (1) => 7 octeți | -Valoarea maximă a lățimii poate fi de 265 -Numărul de zecimale este opțional, iar valoarea implicită este 0 |
Exemplu:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Tipuri de date DateTime
Tipurile de date DateTime din MySQL, așa cum sugerează și numele, sunt utilizate pentru a stoca valorile datei și orei în baza de date MySQL.
Există 2 tipuri temporale acceptate de MySQL - DATETIME și TIMESTAMP
Să discutăm ambele în secțiunile de mai jos.
DATETIME
Sintaxă:
DATETIME(n)
Aici, n -> precizie / parte fracționată a secțiunii (precizia maximă acceptată este de 6).
Fapte:
Descriere | Gamă | Memorie | Exemple |
---|---|---|---|
Folosit pentru a stoca data și ora în coloana MySQL Când este interogat, datele coloanei afișează datetime în formatul de mai jos: AAAA-LL-ZZ HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 octeți Când este inclusă o parte fracționată, atunci pentru fiecare 2 cifre fracționate se consumă un octet suplimentar. | CREATE table datetime_example(date_col DATETIME); // IEȘIRE data_col 2020-08-08 22:22:53 |
TIMESTAMP-UL
Sintaxă:
TIMESTAMP(n)
Aici, n -> precizie / parte fracționată a secundei (precizia maximă acceptată este de 6)
Fapte:
Descriere | Gamă | Memorie | Exemple |
---|---|---|---|
Un alt tip de date temporale utilizat pentru a stoca datetime. Aceasta stochează ora dată ca UTC, de asemenea, cu un interval limitat între 1970 și 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 octeți | CREATE table timestamp_example(ts_col TIMESTAMP); IEȘIRE ts_col 2020-08-08 22:19:11 |
Tipuri de date șir
Tipurile de date de șiruri, așa cum sugerează și numele, sunt utilizate pentru a stoca șiruri / texte sau bloburi de informații textuale în baza de date. În funcție de caz de utilizare, există diferite astfel de tipuri de date disponibile - CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Să înțelegem fiecare dintre aceste tipuri de date diferite cu exemple.
CHAR ȘI VARCHAR
Ambele tipuri sunt utilizate pentru a stoca valorile String în coloanele din MySQL, dar diferă în ceea ce privește modul în care sunt stocate și recuperate valorile.
CHAR & VARCHAR sunt declarate cu lungimea, care indică lungimea maximă a șirului pe care doriți să îl stocați în coloană.
Sintaxă:
CHAR(n) VARCHAR(n)
Aici, n -> maxim nr. de caractere care trebuie stocate de coloană
Fapte:
Tip | Descriere | Gamă | Exemple |
---|---|---|---|
CHAR Sintaxă - CHAR (n) | CHAR poate stoca șir de lungime „n” așa cum a fost definit în timpul declarației. Dacă șirul are mai puțin de n caracter, atunci este umplut cu spații. | Lungimea tipului de date CHAR poate varia de la 0 la 255 În funcție de lungime, consumul de memorie ar varia între 0 - 255 octeți. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Sintaxă - VARCHAR (n) | VARCHAR vă permite să stocați șiruri de lungime variabilă și să consumați memorie în funcție de dimensiunea reală a șirului stocat, mai degrabă decât de valoarea maximă specificată în timpul definiției coloanei. | Lungimea tipului de date VARCHAR poate varia de la 0 la 65535 În funcție de lungime, consumul de memorie ar varia între 0 - 65535 octeți. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINAR ȘI VARBINAR
Similar cu CHAR și VARCHAR - aceste tipuri de date stochează șiruri, dar în format binar.
Lungimea tipurilor de date BINARY și VARBINARY este măsurată în octeți spre deosebire de numărul de caractere din tipurile de date CHAR și VARCHAR.
Sintaxă:
BINARY(n) VARBINARY(n)
Aici, n -> maxim nr. de octeți care urmează să fie stocați de coloană.
Fapte:
Tip | Descriere | Gamă | Exemple |
---|---|---|---|
BINAR Sintaxă - BINARY (n) | BINARY poate stoca octeți binari ‘n’. Pentru valori mai mici de n, acestea sunt completate cu 0 octeți și stocate | Lungimea tipului de date BINARY poate varia de la 0 la 255 În funcție de lungime, consumul de memorie ar varia între 0 - 255 octeți. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINAR Sintaxă - VARBINAR (n) | VARBINARY vă permite să stocați șiruri binare cu lungime variabilă până la ‘n lungime (așa cum se specifică în definiția coloanei) | Lungimea tipului de date VARBINARE poate varia de la 0 la 65535 În funcție de lungime, consumul de memorie ar varia între 0 - 65535 octeți. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Să înțelegem mai detaliat tipul de date BINARY. Vom crea un tabel cu fiecare coloană de tip binar și varbinar și vom inspecta conținutul.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Acum am văzut rezultatul ca BLOB, ceea ce înseamnă - B inar L rău OB ject - și acestea nu sunt altceva decât reprezentarea binară / hexagonală a valorilor șirului pe care le-am inserat în coloane.
Acum vom inspecta valorile acestor șiruri binare și vom vedea cum sunt stocate.
Mai întâi, să vedem valoarea prezentă în „binary_col”, care este de tipul de date BINAR.
Să înțelegem care sunt valorile stocate - Dacă observați valorile pentru primele 5 intrări - adică primul rând și primele 5 coloane (0-4)
Acestea sunt doar reprezentările HEX pentru personajele din „Bună ziua” String pe care le-am stocat.
Acum, deoarece este un tip de date BINAR de lungime 50, putem vedea că restul de octeți sunt umplute cu valori „00”, care nu este altceva decât reprezentarea de octeți pentru cifra „0”.
Vedeți valoarea prezentă în „varbinary_col”, care este de tip VARBINAR.
Aici, pentru VARBINARY, puteți vedea că valorile sunt populate doar pentru o lungime de 5, care este echivalentă cu lungimea șirului stocat. Nu există nicio umplutură zero, deși am declarat o coloană VARBINARĂ de lungime 50.
BLOB ȘI TEXT
Tipurile de date BLOB și TEXT sunt similare tipurilor de date BINARY și CHAR, cu distincția că pot suporta dimensiuni mai mari față de omologii lor de bază.
Este important să rețineți că BLOB stochează date ca șiruri binare, în timp ce tipul de date TEXT stochează ca șiruri non-binare. De asemenea, toate aceste tipuri de date nu necesită specificarea lungimii în timp ce se menționează tipul de date. Ele sunt în mod inerent lungime variabilă în natură și consumă memorie numai împotriva celor stocate ca valoare reală a coloanei.
Tipurile de date BLOB sunt utilizate în general pentru a stoca fișiere, cum ar fi imagini, documente pdf etc. ca șiruri binare, într-un mod sigur și eficient.
Detaliile despre diferitele variante ale tipurilor de date BLOB și TEXT sunt prezentate mai jos:
Tip | Gamă | Descriere | Exemple |
---|---|---|---|
TINYTEXT | 0-255 (255 octeți) | Gama este aceeași cu VARCHAR - Utilizată pentru stocarea informațiilor mici, cum ar fi titluri, nume de autori etc. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEXT | 0-65535 (64 KB) | Acest tip de date este suficient pentru a stoca text pentru un articol de dimensiuni mici sau mijlocii. | CREATE TABLE text_example(text_col TEXT); |
MEDIUMTEXT | 0-16.777.215 (16 MB) | Acest tip de date poate fi suficient pentru a stoca text pentru un întreg manual | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0 - 4.294.967.295 (4 GB) | LONGTEXT este rar utilizat în mod specific în cazurile în care MEDIUMTEXT nu este suficient. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 octeți) | Toate tipurile de date BLOB sunt utilizate pentru a stoca șiruri binare și sunt, în general, preferate pentru stocarea fișierelor precum imagini, documente pdf sau aplicații mici în sine. În funcție de cerințele de dimensiune, pot fi alese și utilizate diferite tipuri de date 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 este un tip de date șir care definește în prealabil valorile permise pe care le poate avea o coloană. Este similar cu tipurile de date ENUM care există în diferite limbaje de programare, cum ar fi JAVA, C # etc.
Valorile ENUM, atunci când sunt stocate sunt convertite în numere pentru fiecare valoare a coloanei, ceea ce duce la o economie considerabilă de memorie pentru tabelele cu un număr mare de înregistrări, adică să presupunem că avem un ENUM cu valori - valoare1, valoare2 și valoare3, atunci stocarea reală a memoriei ar fi numerică indicii 1,2,3 din culise.
Sintaxă:
ENUM({comma separated enum values})
Exemple de întrebări:
Creați un tabel cu 2 coloane pentru stocarea modelelor mobile ca Șir și nume de companii ca tipuri de date ENUM având valori - APPLE, SAMSUNG și NOKIA. Să vedem, de asemenea, interogări pentru a prelua date în raport cu o anumită valoare 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) ;
În interogarea de mai sus, puteți vedea că am folosit nume Enum, precum și indexuri numerice atât în timpul inserării.
Să încercăm să interogăm toate dispozitivele mobile cu numele de marcă „SAMSUNG”, precum și să consultăm indexul numeric al SAMSUNG, care este „1”.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Rezultatul ambelor interogări de mai sus va fi același ca cel menționat mai jos:
A STABILIT
MySQL SET datatype este un obiect String care poate avea una sau mai multe valori dintr-un interval permis așa cum este descris în timpul definirii coloanei. Este similar cu ENUM, dar permite ca mai multe valori din lista definită să fie asociate ca valori de coloană.
De asemenea, tipurile de date SET sunt stocate ca indici numerici începând cu 2 ^ 0 - adică 1,2,4,8 etc.
Sintaxă:
SET({comma separated list of allowed values})
Exemplu:
Să încercăm să înțelegem tipul de date SET cu exemple. Vom crea un tabel numit mobile_details cu un model de coloană de tip String și o coloană numită sistem de operare acceptat, care este un tip de date set și conține o listă de versiuni ale sistemului de operare acceptate.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Putem vedea că am enumerat valorile sistemului de operare ca parte a unei coloane cu tip de date SET. Valorile DECIMALE corespunzătoare care sunt atribuite acestora sunt prezentate mai jos:
Acum, dacă dorim să atribuim valoarea SET, de exemplu, „Android8, android9” unui rând putem atribui pur și simplu adăugarea valorilor zecimale atribuite, adică 12 pentru a avea același efect.
Vă rugăm să consultați interogarea INSERT de mai sus pentru atribuirea la rând cu numele modelului „GALAXYM1”
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Ieșirea comenzii de mai sus:
De asemenea, putem interoga coloana SET în raport cu reprezentarea lor zecimală - să presupunem că dorim să interogăm pentru „ios9, ios10” - suma reprezentării zecimale este 3, deci putem interoga astfel:
SELECT * from mobile_details where supported_os=3
Ieșire:
Tipuri speciale de date
BOOLEAN
Tipul de date boolean MySQL stochează o valoare a coloanei ca ADEVĂRAT sau FALS. Acest tip de date este în general potrivit pentru stocarea valorilor de semnalizare în tabelele MySQL. De exemplu - Un tabel de cont bancar care are o coloană numită is_savings_account poate stoca fie adevărat, fie fals.
Valoarea BOOLEAN este stocată în MySQL ca 1 sau 0 pentru TRUE și respectiv FALSE.
Sintaxă:
columnName BOOLEAN
Exemplu:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
În timp ce inserăm sau recuperăm valori pentru tipul de date BOOLEAN, putem folosi TRUE sau FALSE sau reprezentările lor numerice - adică 1 sau 0.
select * from account_details where is_savings=1;
Ieșirea comenzii de mai sus:
JSON
MySQL acceptă JSON nativ ca tip de date pentru obiecte în notație JSON. Facilitează stocarea, interogarea și recuperarea documentelor de tip JSON, mai degrabă decât stocarea ca șiruri de text sau bloburi binare.
Sintaxă:
columnName JSON
Fapte:
Definiție | Gamă | Exemple |
---|---|---|
Tipul de date JSON este utilizat pentru a stoca documente care sunt în format JSON. Orice coloană definită ca JSON ar genera o eroare dacă un JSON nevalid este stocat de o interogare INSERT. | Gama sau dimensiunea tipului de date JSON este similară cu LONGTEXT sau LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Exemplu:
MySQL oferă diferite funcții pentru interogarea datelor JSON. Să încercăm să inserăm mai jos JSON și apoi vom vedea funcțiile MySQL pentru interogare.
{ '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', } }
Să vedem comenzi pentru a crea tabelul și a insera datele 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' }}');
Interogați tabelul și imprimați numele și câmpurile de e-mail din datele JSON stocate în rândurile tabelului.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Ieșire:
întrebări frecvente
Q # 1) Cum putem schimba tipul de date pentru o coloană MySQL odată alocată?
Răspuns: Tipul de date al coloanei poate fi modificat folosind Comanda ALTER TABLE .
Luați în considerare un tabel student_info care are 2 coloane numele și vârsta tipurilor VARCHAR și respectiv INT. Acest lucru poate fi realizat folosind următoarea comandă CREATE TABLE:
CREATE TABLE student_info(name CHAR(20), age INT);
Există câteva variante în această comandă
instrumente de cracare a parolelor pentru Windows 7
- Dacă vrem să schimbăm doar tipul de date al coloanei - Putem folosi comanda MODIFY împreună cu ALTER
În tabelul de mai sus, să presupunem că dorim să schimbăm tipul de date al coloanei de vârstă, putem folosi următoarea comandă
ALTER TABLE student_info MODIFY age TINYINT
- Dacă dorim să schimbăm numele coloanei, precum și tipul de date al coloanei - Putem folosi comanda CHANGE împreună cu ALTER
În tabelul de mai sus, să presupunem că vrem să schimbăm numele coloanei din „nume” în „șaramă” și tipul de date din CHAR în VARCHAR (50), putem folosi următoarea comandă:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
Q # 2) Care este tipul de date pentru o imagine în MySQL?
Răspuns: Pentru stocarea oricărui tip de fișier în MySQL, cum ar fi imagini, pdf etc. BLOB sau tipul de date binare este cel mai potrivit tip. Există diferite variante ale tipului de date BLOB disponibile în funcție de dimensiunea fișierului țintă pe care dorim să-l stocăm. Putem folosi variante de BLOB precum - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
Q # 3) Ce tip de date este mai potrivit pentru stocarea documentelor în MySQL?
Răspuns: Similar cu BLOB pentru imagini sau fișiere pdf, pentru stocarea documentelor / articolelor text, se poate utiliza tipul de date TEXT. Aceasta este o extensie la tipul de date CHAR cu suport pentru stocarea suplimentară a caracterelor.
Diferitele variante de tip de date TEXT disponibile sunt - TEXT, TINYTEXT, MEDIUMTEXT & LONGTEXT
Q # 4) Care este tipul de date pentru valută în MySQL?
Răspuns: Pentru stocarea datelor pentru valorile valutare, cel mai potrivit tip de date este DECIMAL. Este folosit pentru a stoca tipurile de date cu precizie exactă. De exemplu, un nume de coloană cu tipul DECIMAL (4,2), ar stoca valori cuprinse între -99,99 și 99,99 și va returna valoarea cu aceeași precizie la recuperare, spre deosebire de. aproximare pentru numerele cu virgulă mobilă.
Q # 5) Ce se întâmplă dacă cineva încearcă să introducă numere negative pentru coloanele întregi NESEMNATE?
Răspuns: MySQL generează o eroare pentru astfel de instrucțiuni de inserare
Să încercăm să creăm un tabel cu o coloană INT cu opțiunea 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
Q # 6) Cum se obțin datele curente ale datei în MySQL?
Răspuns: MySQL oferă 2 funcții de dată încorporate pentru preluarea valorilor curente
Funcția CURDATE () returnează data curentă
SELECT CURDATE();
Ieșire
2020-08-10
Funcția ACUM () returnează data curentă cu marcaj de timp.
SELECT NOW();
Ieșire
2020-08-10 00:42:54
Q # 7) Din CHAR și VARCHAR - care este cel mai potrivit?
Răspuns: VARCHAR înseamnă caracter variabil și are un avantaj important de a consuma mai puțină memorie față de CHAR de aceeași lungime. De exemplu, O coloană cu VARCHAR (50) dacă stochează șiruri de lungime 20 ar duce la consumarea a doar 20 de octeți, spre deosebire de un tip de date declarat cu CHAR (50)
Q # 8) Cum se actualizează valoarea ENUM în MySQL?
Răspuns: Pentru a actualiza o coloană ENUM în MySQL, va trebui să modificați menționând valorile coloanei existente, astfel încât intrările existente să rămână intacte.
Să încercăm să înțelegem acest lucru cu un exemplu.
Să presupunem că avem un tabel numit mobile_details care are un câmp de model ca Șir (VARCHAR) și coloana de marcă ca ENUM având valori inițiale ca „APPLE”, SAMSUNG și „NOKIA”
Acum, să presupunem că dorim să adăugăm un alt nume de marcă „MOTOROLA” la enum-ul existent. Să vedem interogările pe care ar trebui să le executăm.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Odată creat, puteți obține detaliile valorilor ENUM originale folosind comanda DESCRIBE
DESCRIBE mobile_details;
Acum să executăm comanda pentru actualizarea ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Putem rula din nou comanda DESCRIBE pentru a vedea dacă actualizările sunt aplicate cu succes.
DESCRIBE mobile_details
Iată rezultatul comenzii de mai sus:
Concluzie
În acest tutorial am aflat despre diferitele tipuri de date care sunt acceptate de MySQL.
Am aflat despre tipurile de date numerice, plutitoare, șiruri și date, împreună cu sintaxa și diferite exemple.
Tipurile de date MySQL sunt elementele fundamentale pentru a începe și unul dintre cele mai importante aspecte în timpul proiectării schemei MySQL.
Lectură recomandată
- Tipuri de date C ++
- Tipuri de date Python
- Tipuri de date C # și variabile cu exemple
- Tipuri de date PL SQL, variabile, constante și litere
- Tipuri de date matrice - matrice int, matrice dublă, matrice de șiruri etc.
- Instrucțiunea MySQL Delete - Ștergeți sintaxa comenzii și exemple
- MySQL Insert Into Table - Inserați sintaxa declarațiilor și exemple
- MySQL JOIN Tutorial: interior, exterior, încrucișat, stânga, dreapta și sine