MySQL INT adattípus

author
5 minutes, 23 seconds Read

Összefoglaló: ebben a bemutatóban a MySQL INT vagy integer adattípusról és annak használatáról fogsz tanulni az adatbázis táblázatok tervezésében. Ezenkívül megmutatjuk, hogyan használhatja egy egész szám oszlop megjelenítési szélességét és ZEROFILL attribútumait.

Bevezetés a MySQL INT típusba

A MySQL-ben a INT az egész számot jelentő egész számot jelenti. Egész számot tört összetevő nélkül lehet írni, pl. 1, 100, 4, -10, és nem lehet 1,2, 5/3 stb. Az egész szám lehet nulla, pozitív és negatív.

A MySQL támogatja az összes szabványos SQL egész szám típust INTEGER vagy INT és SMALLINT. Ezenkívül a MySQL az SQL-szabvány kiterjesztéseként a TINYINT MEDIUMINT és BIGINT típusokat is biztosítja.

A MySQL INT adattípusa lehet előjeles és előjel nélküli. A következő táblázat szemlélteti az egyes egész számtípusok jellemzőit, beleértve a bájtokban való tárolást, a minimális és a maximális értéket.

.

Type Storage Minimum Value Maximum Value
(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 -214748483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

MySQL INT adattípus példák

Nézzünk néhány példát az integer adattípus használatára.

A) A MySQL INT használata egy oszlop példájaként

Mivel az integer típus pontos számokat reprezentál, általában egy táblázat elsődleges kulcsaként használjuk. Ezenkívül a INT oszlopnak lehet AUTO_INCREMENT attribútuma.

Amikor a INT AUTO_INCREMENT oszlopba NULL értéket vagy 0-t szúr be, az oszlop értéke a következő sorszámértékre áll be. Vegye észre, hogy a sorrendérték 1-gyel kezdődik.

Ha a AUTO_INCREMENT oszlopba olyan értéket illeszt be, amely nem NULL vagy nulla, az oszlop elfogadja az értéket. Ezenkívül a szekvencia a beillesztett értéket követő értékre áll vissza.

Először hozzon létre egy új, items nevű táblát, amelynek elsődleges kulcsa egy egész szám oszlop:

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

A fenti CREATE TABLE utasításban használhatja a INT vagy a INTEGER értéket, mivel ezek felcserélhetők. Valahányszor új sort szúr be a items táblába, a item_id oszlop értéke 1-gyel nő.

A következő INSERT utasítás három sort szúr be a items táblába.

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

Ezután a következő SELECT utasítással lekérdezünk adatokat a items táblából:

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

Ezután beszúrunk egy új sort, amelynek a item_id oszlop értékét kifejezetten megadjuk.

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

Mivel a item_id oszlop jelenlegi értéke 10, a sorrend visszaáll 11-re. Ha új sort illesztünk be, a AUTO_INCREMENT oszlop a 11-es értéket fogja használni következő értékként.

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

Végül ismét lekérdezzük a items tábla adatait, hogy lássuk az eredményt.

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

Megjegyezzük, hogy a MySQL 5.1-től kezdve a AUTO_INCREMENT oszlop csak pozitív értékeket fogad el, negatív értékeket nem enged.

B) A MySQL INT UNSIGNED példa

Először hozzon létre egy classes nevű táblát, amelynek total_member oszlopa előjel nélküli egész szám adattípusú:

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

Második lépésként szúrjon be egy új sort a classes táblába:

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

Ez a várt módon működött.

Harmadszor, kísérlet negatív érték beszúrására a total_member oszlopba:

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

MySQL a következő hibát adta ki:

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

MySQL INT a display width attribútummal

MySQL olyan kiterjesztést biztosít, amely lehetővé teszi a INT adattípussal együtt a display width megadását. A megjelenítési szélesség a INT kulcsszót követő zárójelekbe van csomagolva, pl. a INT(5) egy INT-t ad meg, amelynek megjelenítési szélessége öt számjegy.

Fontos megjegyezni, hogy a megjelenítési szélesség attribútum nem szabályozza az oszlop által tárolható értéktartományokat. A display width attribútumot jellemzően az alkalmazások használják az egészértékű értékek formázására. A MySQL a display width attribútumot a visszaküldött eredményhalmaz metaadataként tartalmazza.

MySQL INT a ZEROFILL attribútummal

A display width attribútumon kívül a MySQL egy nem szabványos ZEROFILL attribútumot is biztosít. Ebben az esetben a MySQL a szóközöket nullával helyettesíti. Tekintsük a következő példát.

Először hozzon létre egy zerofill_tests nevű táblát :

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

Másodszor, szúrjon be egy új sort a zerofill_tests táblába.

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

Harmadszor, kérjen le adatokat a zerofill_tests táblából.

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


Av1oszlop megjelenítési szélessége 2, beleértveZEROFILL.Az értéke 1, ezért a kimeneten01látható. A MySQL az első szóközt 0-val helyettesíti.

A v2 oszlop megjelenítési szélessége 3, beleértve ZEROFILL. Az értéke 6, ezért 00 látja a vezető nullákat.

A v3 oszlop megjelenítési szélessége 5 a ZEROFILL-val, míg az értéke 9, ezért a MySQL a kimeneten a szám elejére 0000 betétet tesz.

Megjegyezzük, hogy ha ZEROFILL attribútumot használunk egy egész szám oszlophoz, a MySQL automatikusan hozzáad egy UNSIGNED attribútumot az oszlophoz.

Ezzel a bemutatóval megtanultuk, hogyan használhatjuk a MySQL INT adattípusát adatbázis táblák tervezéséhez.

  • Hasznos volt ez a bemutató?
  • IgenNem

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.