Tipul de date MySQL INT

author
4 minutes, 48 seconds Read

Rezumat: în acest tutorial, veți învăța despre tipul de date MySQL INT sau tipul de date întreg și cum să îl utilizați în proiectarea tabelelor de baze de date. În plus, vă vom arăta cum să utilizați atributele lățime de afișare și ZEROFILL ale unei coloane de numere întregi.

Introducere la tipul MySQL INT

În MySQL, INT reprezintă numărul întreg care este un număr întreg. Un număr întreg poate fi scris fără o componentă fracționară, de exemplu, 1, 100, 4, -10, și nu poate fi 1,2, 5/3, etc. Un număr întreg poate fi zero, pozitiv și negativ.

MySQL acceptă toate tipurile de numere întregi standard SQL INTEGER sau INT și SMALLINT. În plus, MySQL oferă TINYINT MEDIUMINT și BIGINT ca extensii la standardul SQL.

MySQL INT Tipul de date INT poate fi semnat și fără semn. Tabelul următor ilustrează caracteristicile fiecărui tip de număr întreg, inclusiv stocarea în octeți, valoarea minimă și valoarea maximă.

.

Tip Stocare Valoare minimă Valoare maximă Valoare maximă
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -.128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -.2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

Exemple de utilizare a tipului de date MySQL INT

Să vedem câteva exemple de utilizare a tipului de date integer.

A) Exemplu de utilizare a MySQL INT pentru o coloană

Pentru că tipul integer reprezintă numere exacte, îl utilizați de obicei ca cheie primară a unui tabel. În plus, coloana INT poate avea un atribut AUTO_INCREMENT .

Când introduceți o valoare NULL sau 0 în coloana INT AUTO_INCREMENT, valoarea coloanei este setată la următoarea valoare de secvență. Observați că valoarea secvenței începe cu 1.

Când introduceți o valoare, care nu este NULL sau zero, în coloana AUTO_INCREMENT, coloana acceptă valoarea. În plus, secvența este resetată la următoarea valoare a valorii inserate.

În primul rând, creați o nouă tabelă numită items cu o coloană de numere întregi ca cheie primară:

Code language: SQL (Structured Query Language) (sql)

Puteți utiliza fie INT, fie INTEGER în instrucțiunea CREATE TABLE de mai sus, deoarece acestea sunt interschimbabile. Ori de câte ori inserați un rând nou în tabelul items, valoarea coloanei item_id este mărită cu 1.

În continuare, următoarea instrucțiune INSERT inserează trei rânduri în tabelul items.

Code language: SQL (Structured Query Language) (sql)

Apoi, se interoghează datele din tabelul items folosind următoarea instrucțiune SELECT:

Code language: SQL (Structured Query Language) (sql)

După aceasta, se inserează un nou rând a cărui valoare a coloanei item_id este specificată explicit.

Code language: SQL (Structured Query Language) (sql)

Din moment ce valoarea curentă a coloanei item_id este 10, secvența este resetată la 11. Dacă introduceți un nou rând, coloana AUTO_INCREMENT va folosi 11 ca următoarea valoare.

Code language: SQL (Structured Query Language) (sql)

În cele din urmă, interogați din nou datele din tabelul items pentru a vedea rezultatul.

Code language: SQL (Structured Query Language) (sql)

Rețineți că, începând cu MySQL 5.1, coloana AUTO_INCREMENT acceptă numai valori pozitive și nu permite valori negative.

B) Folosind exemplul MySQL INT UNSIGNED

În primul rând, creați un tabel numit classes care are coloana total_member cu tipul de date unsigned integer:

Code language: SQL (Structured Query Language) (sql)

În al doilea rând, inserați un rând nou în tabelul classes:

Code language: SQL (Structured Query Language) (sql)

A funcționat conform așteptărilor.

În al treilea rând, încercați să inserați o valoare negativă în coloana total_member:

Code language: SQL (Structured Query Language) (sql)

MySQL a emis următoarea eroare:

Code language: SQL (Structured Query Language) (sql)

MySQL INT cu atributul lățime de afișare

MySQL oferă o extensie care vă permite să specificați lățimea de afișare împreună cu tipul de date INT. Lățimea de afișare este inclusă între paranteze după cuvântul cheie INT, de exemplu, INT(5) specifică un INT cu o lățime de afișare de cinci cifre.

Este important de reținut că atributul de lățime de afișare nu controlează intervalele de valori pe care le poate stoca coloana. Atributul „display width” este utilizat de obicei de către aplicații pentru a formata valorile întregi. MySQL include atributul display width ca metadate ale setului de rezultate returnat.

MySQL INT cu atributul ZEROFILL

În plus față de atributul display width, MySQL oferă un atribut non-standard ZEROFILL. În acest caz, MySQL înlocuiește spațiile cu zero. Luați în considerare următorul exemplu.

În primul rând, creați o tabelă numită zerofill_tests :

Code language: SQL (Structured Query Language) (sql)

În al doilea rând, inserați un nou rând în tabela zerofill_tests.

Code language: SQL (Structured Query Language) (sql)

În al treilea rând, interogați datele din tabela zerofill_tests .

Code language: SQL (Structured Query Language) (sql)


Coloanav1are o lățime de afișare 2, inclusivZEROFILL.Valoarea ei este 1, prin urmare, vedeți01în ieșire. MySQL înlocuiește primul spațiu cu 0.

Columna v2 are o afișare cu 3 inclusiv ZEROFILL. Valoarea sa este 6, prin urmare, vedeți 00 ca zerouri de început.

Colonelul v3 are afișajul cu lățimea 5 cu ZEROFILL, în timp ce valoarea sa este 9, prin urmare, MySQL pune 0000 la începutul numărului în ieșire.

Rețineți că dacă utilizați atributul ZEROFILL pentru o coloană de numere întregi, MySQL va adăuga automat un atribut UNSIGNED la coloană.

În acest tutorial, ați învățat cum să utilizați tipul de date MySQL INT pentru proiectarea tabelelor de baze de date.

  • A fost util acest tutorial?
  • DaNu

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată.