MYSQL SQL Dersleri SQL Server SQLite

MySql Veri Türleri

Bir sütunun veri türü, sütunun hangi değeri tutabileceğini tanımlar: tamsayı, ondalıklı sayı, karakter, para, tarih ve saat, true-false vb.

MySQL Veri Tipleri

Bir veritabanı tablosundaki her sütunun bir ad ve bir veri türüne sahip olması gerekir.

Bir SQL geliştiricisi, bir tablo oluştururken her sütunda ne tür verilerin depolanacağına karar vermelidir. Veri türü, SQL’in her sütunda ne tür verilerin beklendiğini anlaması için bir kılavuzdur ve ayrıca SQL’in depolanan verilerle nasıl etkileşime gireceğini tanımlar.

MySQL’de üç ana veri türü vardır: string, sayısal ve tarih-saat.

String Veri Türleri

Veri TürüAçıklama
CHAR(boyut)SABİT uzunlukta bir dize (harfler, sayılar ve özel karakterler içerebilir). boyut parametresi, sütun uzunluğunu karakter olarak belirtir. 0 ile 255 arasında olabilir. Varsayılan değer 1’dir.
VARCHAR(boyut)DEĞİŞKEN uzunlukta bir dize (harfler, sayılar ve özel karakterler içerebilir). boyut parametresi, karakter cinsinden maksimum sütun uzunluğunu belirtir. 0 ile 65535 arasında olabilir
BINARY(boyut)CHAR() işlevine eşittir, ancak ikili bayt dizelerini depolar. boyut parametresi, sütun uzunluğunu bayt cinsinden belirtir. Varsayılan 1’dir
VARBINARY(boyut)VARCHAR() işlevine eşittir, ancak ikili bayt dizelerini depolar. size parametresi, bayt cinsinden maksimum sütun uzunluğunu belirtir.
TINYBLOBBLOB’lar için (İkili Büyük Nesneler). Maksimum uzunluk: 255 byte
TINYTEXTMaksimum 255 karakter uzunluğunda bir dize tutar.
TEXT(boyut)Maksimum uzunluğu 65.535 bayt olan bir dize tutar.
BLOB(boyut)BLOB’lar için (İkili Büyük Nesneler). 65.535 byte’a kadar veri tutar
MEDIUMTEXTMaksimum uzunluğu 16.777.215 karakter olan bir dize tutar
MEDIUMBLOBBLOB’lar için (İkili Büyük Nesneler). 16.777.215 bayta kadar veri tutar
LONGTEXTEn fazla 4,294,967,295 karakter uzunluğunda bir dize tutar
LONGBLOBBLOB’lar için (İkili Büyük Nesneler). 4,294,967,295 bayta kadar veri tutar
ENUM(val1, val2, val3, …)Olası değerler listesinden seçilen, yalnızca bir değere sahip olabilen bir dize nesnesi. Bir ENUM listesinde en fazla 65535 değer listeleyebilirsiniz. Listede olmayan bir değer girilirse, boş bir değer girilecektir. Değerler girdiğiniz sıraya göre sıralanır
SET(val1, val2, val3, …)Olası değerler listesinden seçilen, 0 veya daha fazla değere sahip olabilen bir dize nesnesi. Bir SET listesinde 64 adede kadar değer listeleyebilirsiniz.

Sayısal Veri Türleri

Veri TürüAçıklama
BIT(boyut)Bir bit değeri türü. Değer başına bit sayısı boyut olarak belirtilir. Boyut parametresi 1 ile 64 arasında bir değer alabilir. Boyut için varsayılan değer 1’dir.
TINYINT(boyut)Çok küçük bir tam sayı. İmzalı aralık -128 ila 127 arasındadır. İmzasız aralık 0 ila 255 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini belirtir (255’tir).
BOOLSıfır yanlış olarak kabul edilir, sıfır olmayan değerler doğru olarak kabul edilir.
BOOLEANBOOL’a eşit
SMALLINT(boyut)Küçük bir tam sayı. İmzalı aralık -32768 ile 32767 arasındadır. İmzasız aralık 0 ila 65535 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini belirtir (255’tir).
MEDIUMINT(boyut)Orta bir tam sayı. İşaretli aralık -8388608 ile 8388607 arasındadır. İmzasız aralık 0 ile 16777215 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini belirtir (255’tir).
INT(boyut)Orta bir tam sayı. İmzalı aralık -2147483648 ile 2147483647 arasındadır. İmzasız aralık 0 ila 4294967295 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini (255 olan) belirtir.
INTEGER(boyut)INT’ye (size) eşittir
BIGINT(boyut)Büyük bir tam sayı. İşaretli aralık -9223372036854775808 ile 9223372036854775807 arasındadır. İmzasız aralık 0 ile 18446744073709551615 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini belirtir (255’tir).
FLOAT(boyutd)Kayan noktalı bir sayı. Toplam basamak sayısı boyut olarak belirtilir. Ondalık noktadan sonraki basamak sayısı, d parametresinde belirtilir. Bu sözdizimi MySQL 8.0.17’de kullanımdan kaldırılmıştır ve gelecekteki MySQL sürümlerinde kaldırılacaktır.
FLOAT(p)Kayan noktalı bir sayı. MySQL, elde edilen veri türü için FLOAT veya DOUBLE kullanılıp kullanılmayacağını belirlemek için p değerini kullanır. P0 ile 24 arasındaysa veri türü FLOAT() olur. P25 ile 53 arasındaysa, veri türü DOUBLE() olur
DOUBLE(boyutd)Normal boyutlu bir kayan noktalı sayı. Toplam basamak sayısı boyut olarak belirtilir. Ondalık noktadan sonraki basamak sayısı, d parametresinde belirtilir.
DOUBLE PRECISION(boyutd) 
DECIMAL(boyutd)Kesin bir sabit nokta numarası. Toplam basamak sayısı boyut olarak belirtilir. Ondalık noktadan sonraki basamak sayısı, d parametresinde belirtilir. Boyutiçin maksimum sayı 65’tir.diçin maksimum sayı 30’dur.Boyutiçin varsayılan değer 10’dur.diçin varsayılan değer 0’dır.
DEC(boyutd)Equal to DECIMAL(size,d)

Not: Tüm sayısal veri türlerinin ek bir seçeneği olabilir: UNSIGNED veya ZEROFILL. UNSIGNED seçeneğini eklerseniz, MySQL sütun için negatif değerlere izin vermez. ZEROFILL seçeneğini eklerseniz, MySQL otomatik olarak UNSIGNED niteliğini de sütuna ekler.

Tarih ve Saat Veri Tipleri

Veri TürüAçıklama
DATETarih. Biçim: YYYY-AA-GG. Desteklenen aralık ‘1000-01-01’ ile ‘9999-12-31’ arasındadır
DATETIME(fsp)Bir tarih ve saat kombinasyonu. Biçim: YYYY-AA-GG ss:dd:ss. Desteklenen aralık ‘1000-01-01 00:00:00’ ile ‘9999-12-31 23:59:59’ arasındadır. Otomatik başlatma ve geçerli tarih ve saate güncelleme almak için sütun tanımına DEFAULT ve ON UPDATE eklenmelidir.
TIMESTAMP(fsp)Bir zaman damgası. TIMESTAMP değerleri, Unix döneminden (‘1970-01-01 00:00:00’ UTC) bu yana geçen saniye sayısı olarak saklanır. Biçim: YYYY-AA-GG ss:dd:ss. Desteklenen aralık, ‘1970-01-01 00:00:01’ UTC ile ‘2038-01-09 03:14:07’ UTC arasındadır. Otomatik başlatma ve geçerli tarih ve saate güncelleme, sütun tanımında DEFAULT CURRENT_TIMESTAMP ve ON UPDATE CURRENT_TIMESTAMP kullanılarak belirtilebilir.
TIME(fsp)Zaman. Biçim: ss:dd:ss. Desteklenen aralık ‘-838:59:59’ ile ‘838:59:59’ arasındadır
YEARDört basamaklı biçimde yıl. Dört basamaklı biçimde izin verilen değerler: 1901 – 2155 ve 0000.
MySQL 8.0, yılı iki basamaklı biçimde desteklemez.

Yorum yap