MySQL Veri Tipleri

MySQL Veri Tipleri

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 TipiAçı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.
TINYTEXTEn 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.
MEDIUMTEXT16.777.215 karaktere kadar metinsel ifadeleri depolayabilir.
MEDIUMBLOB 16.777.215 karaktere kadar iki kodlama verilerini saklar.
LONGTEXT4.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’)
SETYapısı ENUM’a benzemektedir. Ancak 64 taneye kadar giriş yapılabilir.

Sayısal Veri Tipleri:

Data TipiAçı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 TipiAçı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..
5.0
01