Giriş
Şöyledir
Java karşılıkları şöyleTINYINT 1 Byte [-128,127]SMALLINT 2 Bytes [-32768,32767]MEDIUMINT 3 Bytes [-8388608,8388607}INT OR INTEGER 4 Bytes [-2147483648,2147483647]BIGINT 8 Bytes [-2^63,-2^63-1]
MySQL Type Java TypeCHAR, VARCHAR, LONGVARCHAR StringTEXT StringTINYINT byteSMALLINT shortINT (INTEGER) intBIGINT longNUMERIC, DECIMAL java.math.BigDecimalREAL floatFLOAT, DOUBLE doubleBIT booleanBINARY, VARBINARY, LONGVARBINARY byte[]BLOB, MEDIUMBLOB, LARGEBLOB byte[]DATE java.sql.DateTIME java.sql.TimeDATETIME, TIMESTAMP java.sql.Timestamp
INT ve Display Width
Açıklaması şöyle
Generally, the numbers after int are only valid when used together with zerofill
Açıklaması şöyle
In MySQL, when you define a column as int(4), the 4 in parentheses is used to specify the display width of the column, not the number of bytes it will use for storage. The display width is used only for formatting output and has no impact on the range of values that can be stored in the column. The range of values that can be stored in an int column is determined by its data type, not by the display width.
Örnek
Şöyle yaparız. Burada int(1) kullanınca halen en büyük sayıyı ekleyebildiğimizi görebiliyoruz
CREATE TABLE user ( id int(1) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; mysql> INSERT INTO user (idVALUES (4294967295); Query OK, 1 row affected (0.00 sec)
Nasıl Kullanılır ?
Display Width eğer zerofill ile birlikte kullanılırsa işe yarıyor
Örnek
Şöyle yaparız. Burada tablo yaratılırken zerofill belirtiliyor. Böylece sayılar 4 hane olacak şekilde gerekirse sıfır ile dolduruluyor
CREATE TABLE user ( id int(4) unsigned zerofill NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; mysql> INSERT INTO `user` (`id`) VALUES (1),(10),(100),(1000); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from user; +------+ | id | +------+ | 0001 | | 0010 | | 0100 | | 1000 | +------+ 4 rows in set (0.00 sec)
1. TINYINT
Java'daki Byte tipine denk gelir.
Örnek
2. SMALLINT
Java'daki Short tipine denk gelir.
Java'daki Short tipine denk gelir.
Örnek
3. INT
Java'daki Integer tipine denk gelir.
Örnek
Şöyle yaparız.
INT(11)
Kısıt koymak istersek şöyle yaparız.INT(11) NOT NULL AUTO INCREMENT
Şöyle yaparız.INT(11) NOT NULL DEFAULT '0'
Şöyle yaparız.INT(11) DEFAULT NULL
4. INT UNSIGNEDÖrnek
Şöyle yaparız.INT(10) UNSINGNED NOT NULL DEFAULT '0',
Şöyle yaparız.CREATE TABLE list_relation
(
parent_id INT UNSIGNED NOT NULL,
...
);
Hiç yorum yok:
Yorum Gönder