MySQL INT Data Type

author
4 minutes, 16 seconds Read

Samenvatting: in deze tutorial leert u over MySQL INT of integer data type en hoe het te gebruiken in uw database tabel ontwerp. Daarnaast zullen we laten zien hoe je de display breedte en ZEROFILL attributen van een geheel getal kolom te gebruiken.

Inleiding tot MySQL INT type

In MySQL, INT staat voor het geheel getal dat een geheel getal is. Een geheel getal kan worden geschreven zonder een breukcomponent, bijvoorbeeld 1, 100, 4, -10, en het kan niet 1,2, 5/3, enz. zijn. Een geheel getal kan nul, positief en negatief zijn.

MySQL ondersteunt alle standaard SQL integer types INTEGER of INT en SMALLINT. Daarnaast biedt MySQL TINYINT MEDIUMINT, en BIGINT als uitbreidingen op de SQL-standaard.

MySQL INT datatype kan ondertekend en niet ondertekend zijn. De volgende tabel illustreert de kenmerken van elk integer type, inclusief opslag in bytes, minimumwaarde, en maximumwaarde.

Type Opslag Minimale waarde Maximale waarde
(Bytes) (Getekend/Ongetekend) (Getekend/Ongetekend)
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

MySQL INT data type voorbeelden

Laten we eens kijken naar enkele voorbeelden van het gebruik van het integer data type.

A) MySQL INT voor een kolom gebruiken

Omdat het integer type exacte getallen weergeeft, gebruikt u het meestal als de primaire sleutel van een tabel. Bovendien kan de INT-kolom een AUTO_INCREMENT attribuut hebben.

Wanneer u een NULL-waarde of 0 in de INT AUTO_INCREMENT-kolom invoegt, wordt de waarde van de kolom ingesteld op de volgende reekswaarde. Merk op dat de sequentiewaarde begint met 1.

Wanneer u een waarde, die geen NULL of nul is, in de kolom AUTO_INCREMENT invoegt, aanvaardt de kolom de waarde. Bovendien wordt de reeks gereset naar de volgende waarde van de ingevoegde waarde.

Maak eerst een nieuwe tabel met de naam items met een integer kolom als primaire sleutel:

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

U kunt INT of INTEGER gebruiken in het bovenstaande CREATE TABLE statement, omdat ze onderling uitwisselbaar zijn. Telkens wanneer u een nieuwe rij invoegt in de tabel items, wordt de waarde van de kolom item_id verhoogd met 1.

Naar aanleiding van het volgende INSERT statement worden drie rijen ingevoegd in de tabel items.

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

Vraag vervolgens gegevens op uit de tabel items met behulp van de volgende SELECT verklaring:

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

Voeg daarna een nieuwe rij in waarvan de waarde van de kolom item_id expliciet wordt opgegeven.

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

Omdat de huidige waarde van de kolom item_id 10 is, wordt de reeks teruggezet op 11. Als u een nieuwe rij invoegt, zal de AUTO_INCREMENT kolom 11 gebruiken als de volgende waarde.

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

Finitief, vraag de gegevens van de items tabel opnieuw op om het resultaat te zien.

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

Merk op dat vanaf MySQL 5.1, de AUTO_INCREMENT kolom alleen positieve waarden accepteert en geen negatieve waarden toestaat.

B) Met behulp van MySQL INT UNSIGNED voorbeeld

Maak eerst een tabel genaamd classes die de kolom total_member met het gegevenstype unsigned integer heeft:

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

Seconde, voeg een nieuwe rij in de tabel classes:

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

Het werkte zoals verwacht.

Derde, poging om een negatieve waarde in te voegen in de total_member kolom:

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

MySQL gaf de volgende foutmelding:

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

MySQL INT met het display width attribuut

MySQL biedt een uitbreiding waarmee u de display width samen met het INT datatype kunt specificeren. De display width wordt tussen haakjes achter het INT keyword geplaatst, bijvoorbeeld INT(5) specificeert een INT met een display width van vijf cijfers.

Het is belangrijk op te merken dat het display width attribuut niet de waardebereiken controleert die de kolom kan opslaan. Het display width attribuut wordt typisch gebruikt door de applicaties om de integer waarden te formatteren. MySQL neemt het display width attribuut op als de metadata van de geretourneerde result set.

MySQL INT met het ZEROFILL attribuut

In aanvulling op het display width attribuut, biedt MySQL een niet-standaard ZEROFILL attribuut. In dit geval vervangt MySQL spaties door nul. Beschouw het volgende voorbeeld.

Eerst, maak een tabel met de naam zerofill_tests :

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

Tweede, voeg een nieuwe rij in de zerofill_tests tabel.

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

Derde, query gegevens uit de zerofill_tests tabel.

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


Dev1kolom heeft een display breedte 2 met inbegrip vanZEROFILL.De waarde ervan is 1, dus je ziet01in de uitvoer. MySQL vervangt de eerste spatie door 0.

De v2 kolom heeft een display met 3 inclusief ZEROFILL. De waarde is 6, dus je ziet 00 als de eerste nullen.

De v3 kolom heeft een display breedte 5 met ZEROFILL, terwijl de waarde 9 is, dus MySQL pads 0000 aan het begin van het nummer in de output.

Noteer op dat als u ZEROFILL attribuut gebruikt voor een geheel getal kolom, MySQL automatisch een UNSIGNED attribuut zal toevoegen aan de kolom.

In deze tutorial, heb je geleerd hoe je het MySQL INT datatype te gebruiken voor het ontwerpen van database tabellen.

  • Was deze tutorial nuttig?
  • JaNee

Similar Posts

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.