Bu eğitimde, MySQL INT veya integer veri tipini ve bunu veritabanı tablosu tasarımınızda nasıl kullanacağınızı öğreneceksiniz. Ek olarak, bir tablodaki bir tamsayı sütununun görüntü genişliğini ve ZEROFILL özelliklerini nasıl kullanacağınızı göstereceğiz.
MySQL INT tipi
MySQL’de INT, tamsayı anlamına gelir. Bir tamsayı, örneğin 1, 100, 4, -10, vb. gibi kesirli bir bileşen olmadan yazılabilir ve 1,2, 5/3, vb. olamaz. Bir tamsayı sıfır, pozitif ve negatif olabilir.
MySQL, INTEGER veya INT ve SMALLINT tüm standart SQL tamsayı tiplerini destekler. Buna ek olarak, MySQL standart SQL uzantıları olarak TINYINT MEDIUMINT ve BIGINT sağlar.
MySQL INT veri tipi imzalı(signed) ve imzasız(unsigned) olabilir. Aşağıdaki tabloda, bayt cinsinden depolama, minimum değer ve maksimum değer de dahil olmak üzere her bir tamsayı tipinin özellikleri gösterilmektedir.
Tip | Depolama | Minimum Değer | Maksimum Değer |
---|---|---|---|
(Byte) | (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 |
Bir sütunda INT kullanımı
Tamsayı türü tam sayıları temsil ettiğinden, genellikle bir tablonun birincil anahtarı olarak kullanırsınız. Ayrıca, INT sütunu bir AUTO_INCREMENT özelliğine sahip olabilir.
INT AUTO_INCREMENT sütununa bir NULL değeri veya 0 eklediğinizde, sütunun değeri bir sonraki sıra değerine ayarlanır. Sıra değerinin 1 ile başladığına dikkat edin.
AUTO_INCREMENT sütununa NULL veya sıfır olmayan bir değer eklediğinizde, sütun değeri kabul eder. Ek olarak, sıra eklenen değerin bir sonraki değerine sıfırlanır.
AUTO_INCREMENT özniteliklerine sahip bir tamsayı sütunu kullanan bir tablo örneğine bakalım.
İlk olarak, aşağıdaki ifadeyi kullanarak ana anahtar olarak bir tamsayı sütunu olan öğeler adında yeni bir tablo oluşturun:
1 2 3 4 5 6 | CREATE TABLE ozellikler ( ozellik_id INT AUTO_INCREMENT PRIMARY KEY, ozellik_tanimi VARCHAR(255) ); |
INT veya INTEGER’ı yukarıdaki CREATE TABLE ifadesinde kullanabilirsiniz, çünkü bunlar birbirleriyle değiştirilebilir. ozellikler tablosuna yeni bir satır eklediğinizde, ozellik_id sütununun değeri 1 artar.
Daha sonra, aşağıdaki INSERT deyimi ozellikler tablosuna üç satır ekler.
1 2 3 4 | INSERT INTO ozellikler(ozellik_tanimi) VALUES('boy'), ('kilo'),('yas'); |
Ardından, aşağıdaki SELECT deyimini kullanarak ozellikler tablosundaki verileri sorgulayın:
1 2 3 4 5 6 | SELECT * FROM ozellikler |
Bundan sonra, ozellik_id sütununun değeri açıkça belirtilen yeni bir satır ekleyin.
1 2 3 4 | INSERT INTO ozellikler(ozellik_id,ozellik_tanimi) VALUES(10,'cinsiyet'); |
ozellik_id sütununun geçerli değeri 10 olduğundan, sıra 11 olarak sıfırlanır. Yeni bir satır eklerseniz, AUTO_INCREMENT sütunu bir sonraki değer olarak 11 kullanır.
1 2 3 4 | INSERT INTO ozellikler(ozellik_tanimi) VALUES('renk'); |
MySQL 5.1’den beri, AUTO_INCREMENT sütununun yalnızca pozitif değerleri kabul ettiğini unutmayın. Negatif değerler AUTO_INCREMENT sütunu için desteklenmiyor.
MySQL INT ve veri genişliği özelliği
MySQL, INT veri türüyle birlikte görüntü genişliğini belirlemenizi sağlayan bir uzantı sağlar. Görüntü genişliği, INT anahtar sözcüğünü izleyen parantez içine alınır; örneğin, INT (5), beş basamaklı ekran genişliğine sahip bir INT belirtir.
Ekran genişliği özelliğinin, sütunun depolayabileceği değer aralıklarını kontrol etmediğini not etmek önemlidir. Ekran genişliği özelliği, uygulamalar tarafından tam sayı değerlerini biçimlendirmek için kullanılır. MySQL, döndürülen sonuç kümesinin meta verileri olarak ekran genişliği özelliğini içerir.
ZEROFILL özelliğine sahip MySQL INT
Ekran genişliğine ek olarak, MySQL standart dışı bir ZEROFILL niteliği sağlar. Bu durumda, MySQL boşlukları sıfır ile değiştirir. Aşağıdaki örneği düşünün.
İlk olarak, aşağıdaki ifadeyi kullanarak zerofill_test adlı bir tablo oluşturun:
1 2 3 4 5 6 7 8 | CREATE TABLE zerofill_test( id INT AUTO_INCREMENT PRIMARY KEY, sutun1 INT(2) ZEROFILL, sutun2 INT(3) ZEROFILL, sutun3 INT(5) ZEROFILL ); |
İkinci olarak, zerofill_test tablosuna yeni bir satır ekleyin.
1 2 3 4 | INSERT into zerofill_test(sutun1,sutun2,sutun3) VALUES(5,5,5); |
Üçüncü olarak, zerofill_test tablosundaki verileri sorgulayın.
1 2 3 4 5 6 | SELECT sutun1,sutun2,sutun3 FROM zerofill_test; |
Bir tamsayı sütunu için ZEROFILL özelliğini kullanırsanız, MySQL’in otomatik olarak sütuna UNSIGNED bir öznitelik ekleyeceğini unutmayın.
Bu derste, size tabloda MySQL INT veri tipinin nasıl kullanılacağını gösterdik ve aynı zamanda bir tamsayı sütununun ekran genişliğini ve ZEROFILL niteliklerini size sunduk.
Yorum Yap