Ö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