MySQL veritabanlarında temelde 3 tane veri tipi vardır; Bunlar sırasıyla metinsel, sayısal ve tarih-saat verileridir. Bu veri tipleri dağılımını aşağıdaki tabloda inceleyelim.
Metinsel Veri Tipleri:
Data Tipi | Açıklama |
---|---|
CHAR(boyut) | Boyut ile belirtilen uzunlukta boşluklar da dahil olmak üzere karakter depolar. Bu karkterler harf, sayılar ve özel karakterlerden (% , & , + gibi) oluşur. En fazla 255 karakter alır. Belirtilenden az karakter sayısı da girilse belirtilen boyut kadar yer kaplar. |
VARCHAR(boyut) | Boyut ile belirtilen uzunlukta boşluklar dahil olmak üzere karakter depolar. Bu karkterler harf ve sayılardan oluşur. En fazla 255 karakter alır. En fazla boyut ile belirtilen değer kadar karakter girişi olur. Eğer belirtilenden daha az karakter girilirse, girilen karakter kadar yer kaplar. |
TINYTEXT | En fazla 255 karaktere kadar olan boşluklar dahil metinsel ifadeleri saklar. |
TEXT | En fazla 65.535 karaktere kadar olan boşluklar dahil metinsel ifadeleri saklar. |
BLOB | (Binary Long OBjects). Binary yani ikili verilerin saklanacağı durumlarda kullanılır. En fazla 65.535 byte (yaklaşık 64 KB) veri saklanabilir. |
MEDIUMTEXT | 16.777.215 karaktere kadar metinsel ifadeleri depolayabilir. |
MEDIUMBLOB | 16.777.215 karaktere kadar iki kodlama verilerini saklar. |
LONGTEXT | 4.294.967.295 karaktere kadar metinsel verileri depolayabilir. |
LONGBLOB | 4.294.967.295 karaktere kadar ikili kodlama verisi depolayabilir. |
ENUM(x,y,z,….) | 65535 adede kadar, ihtimalli girişlerde kullanılabilir. Giriş önceliğine göre sıralama yapılır. Giriş formatına örenk: ENUM(‘X’,’Y’,’Z’,’F’) |
SET | Yapısı ENUM’a benzemektedir. Ancak 64 taneye kadar giriş yapılabilir. |
Sayısal Veri Tipleri:
Data Tipi | Açıklama |
---|---|
TINYINT(boyut) | -128 ile 127 arasında değer alır. Boyut ile alabileceği sınırı belirtebiliriz. |
SMALLINT(boyut) | -32.768 ile 32.767 arasında değer alır. Boyut ile alabileceği sınırı belirtebiliriz. |
MEDIUMINT(boyut) | -8.388.608 ile 8.388.607 arasında değer alır. Boyut ile alabileceği sınırı belirtebiliriz. |
INT(boyut) | -2.147.483.648 ile 2.147.483.647 arasında değer alır. Boyut ile alabileceği sınırı belirtebiliriz. |
BIGINT(boyut) | -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasında değer alır. Boyut ile alabileceği sınırı belirtebiliriz. |
FLOAT(boyut,d) | Küçük rakamlı
virgüllü ifadeler için kullanılır. Boyut ile sayının virgüllü kısmı
dahil alabileceği en fazla miktar belirtilirken d ile virgülden sonra
kaç basamak olacağı belirtilir. Boyut değeri en fazla 23 olabilir. |
DOUBLE(boyut,d) | Büyük
rakamlı virgüllü ifadeler için kullanılır. Boyut ile sayının virgüllü
kısmı dahil alabileceği en fazla miktar belirtilirken d ile virgülden
sonra kaç basamak olacağı belirtilir. Boyut değeri en fazla 53 olabilir. |
DECIMAL(boyut,d) |
DOUBLE ‘ın yetmediği durumlarda, virgüllü ifadeler için kullanılır.
Boyut ile sayının virgüllü kısmı dahil alabileceği en fazla miktar
belirtilirken d ile virgülden sonra kaç basamak olacağı belirtilir. Boyut değeri en fazla 65 olabilir. Görüleceği üzere FLOAT, DOUBLE ve DECIMAL arasındaki temel fark boyut ile belirtilen basamak sayısıdır. İhtiyaca göre seçim yapılıp kullanılır. |
Tarih-Zaman Veri Tipleri:
Data Tipi | Açıklama |
---|---|
DATE() | Sadece tarih girişi için kullanılır. ‘YYYY-AA-GG’ şeklinde depolama yapar. ‘1000-01-01’ ile ‘9999-12-31’ arasındaki tarihleri destekler. |
DATETIME() | Tarih ve saat kombinasyonu için kullanılır. ‘YYYY-AA-GG SS:DD:SS’ şeklinde depolama yapar. ‘1000-01-01 00:00:00’ ile ‘9999-12-31 23:59:59’ arasındaki tarihleri destekler. |
TIMESTAMP() | Depolama biçimi DATETIME() ile aynıdır. Ancak yazdığınız program üzerinden bu alan veri gönderimi yapılmaz. O anki tarih ve saati otomatik olarak ekler. Eğer elle bir tarih-saat eklenecekse o zaman veritipi DATETIME() olarak ayarlanmalıdır. |
TIME() | Sadece saat verisi saklamak için kullanılır. ‘SS:DD:SS’ (Saat-dakika-saniye) şeklinde saklar. |
YEAR() | 2 veya 4 basamaklı YIL bilgisini saklamak için kullanılır. Dört basamalı verilerde 1901 ile 2155 arası değer saklanır. İki basamaklı verilerde ise 70 ile 69 (1970 ile 2069) değeri saklanır.. |