Veri Türleri

Sütunlar çeşitli veri türlerine bağlı olarak veri saklarlar. Örneğin sayısal bir değer olabileceği gibi harflerden oluşan bir değere de sahip olabilirler. İşte MySQL'in veri türleri de bir tablo oluştururken ya da daha sonradan tablonun sütun türünü değiştirirken kullandığımız kodlardır.

Genel olarak 3 veri türünden bahsedebiliriz:

- Integer (Sayısal)
- Text (Alfasayısal)
- Date (Tarih)

Sayısal Değer İçerenler (INTEGER)

Bunlar sadece rakamdan oluşan sayısal değerler barındırabilirler. Hepsi UNSIGNED ve AUTO_INCREMENT özelliği alabilirler. Bunları tanıyalım:

TINYINT, 0 ile 255 arasında sayı barındırabilirler. Eğer UNSIGNED özelliği belirtilmişse -128 ile 127 arasında değerleri depolarlar.

SMALLINT, 0 ile 65535 arasında sayı değerlerini barındırabilirler. Eğer UNSIGNED belirtilmişse -32768 ile 32767 arasındaki değerleri alırlar.

MEDIUMINT, 0 ile 16777215 arasındaki sayı değerlerini barındırabilirler. Eğer UNSIGNED belirtilmişse -8388608 ile 8388607 arasındaki değerleri alırlar.

INT, 0 ile 4294967295 arasındaki sayıları depolarlar. UNSIGNED kullanılmışsa -2147683648 ile 2147683647 arasındaki değerler alt ve üst limitleri olur.

BIGINT, -9223372036854775808 ile 9223372036854775807 arasındaki sayıları depolayabilirler.

FLOAT, pozitif ondalık sayıları depolar.
DOUBLE, negatif ve pozitif ondalık sayıları depolar.
DECIMAL, 10'luk değerleri depolar.

İhtiyaca göre sayısal değer içerek sütunlarda bu veri türleri kullanılabilir.

Alfasayısal (Sözel) Veriler (VARCHAR, TEXT)

Barındıracağı harf/veri uzunluğuna göre belirlenirler. Bunlar karakterleri depolarlar. Aşağıda parantez ile belirtilen yere bir sayı gelir. Örneğin VARCHAR(10) dersek bu 10 karakter barındırabileceğini anlatır, (abcdefghij) gibi..

CHAR(x), x kadar karakter barındırır (x en fazla 255 olabilir).
VARCHAR(x), x kadar karakter barındırır (x en fazla 255 olabilir).

TINYTEXT, kısa yazılar.
MEDIUMTEXT, orta uzunlukta yazılar.
TEXT, uzun yazılar.
LONGTEXT, çok uzun yazılar.

Tarih İçeren Veriler (DATE)

Format hiçbir zaman değişmemekle birlikte veriler tıpkı alfasayısal veriymiş gibi işlenir ve ancak belli fonksiyonlarla sorgulanabilir.

DATE, YYYY-AA-GG formatıyla tarihi depolar.

TIME, hh:mm:ss formatıysa saati depolar.

DATETIME gün önce başlamak üzere tarih ve saati depolar.

TIMESTAMP sayısal bir değer olarak saati işler.

YEAR yılı depolar.

Bu konu ayrıca Tarihlerle İşlem sayfasında anlatılmıştır.