SQL Veri Tipleri

Microsoft Access, MySQL ve SQL Server tarafından kullanılan veri türleri ve aralıkları.

Microsoft Access veri türleri

Veri türü Açıklama Saklar
Text Metin veya metin ve rakamların kombinasyonu için kullanılır. En fazla 255 karakter.  
Memo

Memo, daha büyük metin miktarları için kullanılır. En fazla 65,536 karakter depolayabilir.

Açıklama: Memo alanlarına sıralama yapılamaz. Ancak, arama yapılabilir.

 
Byte 0 ile 255 arasında sayıları izin verir. 1 bayt
Integer -32,768 ile 32,767 arasında sayıları izin verir. 2 bayt
Long -2,147,483,648 ile 2,147,483,647 arasında tüm sayıları izin verir. 4 bayt
Single Tek kesirli sayı. Çoğu küçük sayıyı işler. 4 bayt
Double İki kesirli sayı. Çoğu küçük sayıyı işler. 8 bayt
Currency

Para birimi için. 15 haneli tam sayı, 4 hanelik ondalık sayı destekler.

İpucu: Hangi ülkenin para birimini kullanmak istediğinizi seçebilirsiniz.

8 bayt
AutoNumber AutoNumber alanı, her kayıta numara atar, genellikle 1'den başlar. 4 bayt
Date/Time Tarih ve saat için kullanılır 8 bayt
Yes/No

Lojik alan, Yes/No, True/False veya Açık/Kapalı olarak görünebilir.

Kodda, sabit True ve False (1 ve 0'ya eşdeğer) kullanılır

Açıklama: Yes/No alanında Null değeri izin verilmez

1 bit
Ole Object Resimler, ses, video veya diğer BLOBs (Binary Large OBjects) depolamak için kullanılabilir. En fazla 1GB
Hyperlink Diğer dosyalara, web sayfalarına dahil olmak üzere bağlantılar içerir.  
Lookup Wizard Aşağıdaki listeden bir seçenek listesi oluşturmanıza olanak tanır. 4 bayt

MySQL veri türleri

MySQL'de üç ana tür var: metin, sayısal ve tarih/saat türleri.

Metin türü:

Veri türü Açıklama
CHAR(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) Sabit uzunluklu dizeyi (harfler, rakamlar ve özel karakterler içerebilir) kaydedin. Kavramalar içinde dizenin uzunluğunu belirtin. En fazla 255 karakter.
VARCHAR(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.)

Değişken uzunluklu dizeyi (harfler, rakamlar ve özel karakterler içerebilir) kaydedin. Kavramalar içinde dizenin maksimum uzunluğunu belirtin. En fazla 255 karakter.

Açıklama: Değer uzunluğu 255'ten büyükse, TEXT türüne dönüştürülür.

TINYTEXT En fazla 255 karakter uzunluğunda bir dizi saklar.
TEXT En fazla 65,535 karakter uzunluğunda bir dizi saklar.
BLOB BLOBs (Binary Large OBjects) için kullanılır. En fazla 65,535 bayt veri saklar.
MEDIUMTEXT En fazla 16,777,215 karakter uzunluğunda bir dizi saklar.
MEDIUMBLOB BLOBs (Binary Large OBjects) için kullanılır. En fazla 16,777,215 bayt veri saklar.
LONGTEXT En fazla 4,294,967,295 karakter uzunluğunda bir dizi saklar.
LONGBLOB BLOBs (Binary Large OBjects) için kullanılır. En fazla 4,294,967,295 bayt veri saklar.
ENUM(x,y,z,vb.)

Muhtemel değerlerin listesini girmenizi sağlar. ENUM listesinde en fazla 65535 değer belirtebilirsiniz. Listede olmayan bir değer eklendiğinde, boş değer eklenir.

Açıklama: Bu değerler girdiğiniz sırayla saklanır.

Muhtemel değerleri bu formatta girebilirsiniz: ENUM('X','Y','Z')

SET ENUM ile benzer, SET en fazla 64 adet liste öğesi içerebilir, ancak SET birden fazla değer saklayabilir.

Number türü:

Veri türü Açıklama
TINYINT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) -128 ile 127 arasında normal. 0 ile 255 arasında ücretsiz*. En fazla sayısal basamak sayısını parantez içinde belirleyin.
SMALLINT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) -32768 ile 32767 arasında normal. 0 ile 65535 arasında ücretsiz*. En fazla sayısal basamak sayısını parantez içinde belirleyin.
MEDIUMINT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) -8388608 ile 8388607 arasında normal. 0 ile 16777215 arasında ücretsiz*. En fazla sayısal basamak sayısını parantez içinde belirleyin.
INT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) -2147483648 ile 2147483647 arasında normal. 0 ile 4294967295 arasında ücretsiz*. En fazla sayısal basamak sayısını parantez içinde belirleyin.
BIGINT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.) -9223372036854775808 ile 9223372036854775807 arasında normal. 0 ile 18446744073709551615 arasında ücretsiz*. En fazla sayısal basamak sayısını parantez içinde belirleyin.
FLOAT(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.,DECIMAL() Küçük sayılar, kayan nokta ile birlikte. En fazla sayıyı parantez içinde belirleyin. En fazla sayısal basamak sayısını d parametresinde belirleyin.
DOUBLE(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.,DECIMAL() 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(Genişleyici küçük sayısal değerler. Kural olarak, genişleyici küçük sayılar negatif veya pozitif olabilir. Eğer genişleyici küçük sayıları negatif veya pozitif olarak ayırmak istiyorsanız, genişleyici küçük sayıları negatif veya pozitif olarak ayırmak için kullanılır.,DECIMAL() size

d

Date Türü:

Veri türü Açıklama
* Bu tamsayı türleri ek seçeneklere sahiptir. UNSIGNED. Genel olarak, tamsayılar negatif veya pozitif olabilir. UNSIGNED özelliği eklendiğinde, aralık 0'dan başlar, bir negatif sayıdan değil.

DATE()

Tarih. Biçim: YYYY-MM-DD

Açıklama: Desteklenen aralık '1000-01-01' ile '9999-12-31' arasındadır

DATETIME()

* Tarih ve saatin birleşimi. Biçim: YYYY-MM-DD HH:MM:SS

Açıklama: Desteklenen aralık '1000-01-01 00:00:00' ile '9999-12-31 23:59:59' arasındadır

TIMESTAMP()

* Zaman damgası. TIMESTAMP değerleri, Unix epochu ('1970-01-01 00:00:00' UTC) ile bugüne kadar olan açıklamaları kullanılarak saklanır. Biçim: YYYY-MM-DD HH:MM:SS

TIME()

Zaman. Biçim: HH:MM:SS

Açıklama: Desteklenen aralık '-838:59:59' ile '838:59:59' arasındadır

YEAR()

2 haneli veya 4 haneli formattaki yıllar.

Açıklama: 4 haneli formatta izin verilen değerler: 1901'den 2155'e kadar. 2 haneli formatta izin verilen değerler: 70'den 69'a, 1970'den 2069'a kadar.

* DATETIME ve TIMESTAMP aynı biçimde dönerse bile, çalışma şekilleri çok farklıdır. INSERT veya UPDATE sorgularında, TIMESTAMP otomatik olarak mevcut tarih ve saati ayarlar. TIMESTAMP farklı formatları da kabul eder, örneğin YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD veya YYMMDD.

SQL Server veri türü

Karakter dizgisi:

Veri türü Açıklama Saklar
char(n) Sabit uzunluklu bir dizgi. En fazla 8,000 karakter. n
varchar(n) Değişken uzunluklu bir dizgi. En fazla 8,000 karakter.  
varchar(max) Değişken uzunluklu bir dizgi. En fazla 1,073,741,824 karakter.  
text Değişken uzunluklu bir dizgi. En fazla 2GB karakter veri.  

Unicode dizisi:

Veri türü Açıklama Saklar
nchar(n) Sabit uzunluklu Unicode veri. En fazla 4,000 karakter.  
nvarchar(n) Değişken uzunluklu Unicode veri. En fazla 4,000 karakter.  
nvarchar(max) Değişken uzunluklu Unicode veri. En fazla 536,870,912 karakter.  
ntext Değişken uzunluklu Unicode veri. En fazla 2GB karakter veri.  

Binary türü:

Veri türü Açıklama Saklar
bit 0, 1 veya NULL izin verir.  
binary(n) Sabit uzunluklu ikili veri. En fazla 8,000 bayt.  
varbinary(n) Değişken uzunluklu ikili veri. En fazla 8,000 bayt.  
varbinary(max) Değişken uzunluklu ikili veri. En fazla 2GB bayt.  
image Değişken uzunluklu ikili veri. En fazla 2GB.  

Number türü:

Veri türü Açıklama Saklar
tinyint 0'dan 255'e kadar tüm sayıları izin verir. 1 bayt
smallint -32,768'den 32,767'ye kadar tüm sayıları izin verir. 2 bayt
int -2,147,483,648'den 2,147,483,647'ye kadar tüm sayıları izin verir. 4 bayt
bigint -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasında tüm sayıları izin verir. 8 bayt
decimal(p,s)

Sabit hassasiyet ve oransal sayılar. -10^38 +1'den 10^38 -1'e kadar sayıları izin verir.

p parametresi, saklanabilecek maksimum basamak sayısını belirtir (ondalık noktanın solunda ve sağında). p, 1 ile 38 arasında bir değerde olmalıdır. Varsayılan 18'dir.

s parametresi, ondalık noktanın sağında saklanabilecek maksimum basamak sayısını belirtir. s, 0 ile p arasındaki bir değerde olmalıdır. Varsayılan 0'dır.

5-17 bayt
numeric(p,s)

Sabit hassasiyet ve oransal sayılar. -10^38 +1'den 10^38 -1'e kadar sayıları izin verir.

p parametresi, saklanabilecek maksimum basamak sayısını belirtir (ondalık noktanın solunda ve sağında). p, 1 ile 38 arasında bir değerde olmalıdır. Varsayılan 18'dir.

s parametresi, ondalık noktanın sağında saklanabilecek maksimum basamak sayısını belirtir. s, 0 ile p arasındaki bir değerde olmalıdır. Varsayılan 0'dır.

5-17 bayt
smallmoney -214,748.3648 ile 214,748.3647 arasında para veri. 4 bayt
money -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasında para veri. 8 bayt
float(n)

-1.79E + 308'den 1.79E + 308'e kadar değişken hassasiyetli sayı veri.

Parametre n, bu alanın 4 bayt mı yoksa 8 bayt mı sakladığını belirtir. float(24) 4 bayt saklar, float(53) ise 8 bayt saklar. n'nin varsayılan değeri 53'tür.

4 veya 8 bayt
real -3.40E + 38'den 3.40E + 38'e kadar değişken hassasiyetli sayısal veri saklar. 4 bayt

Date Türü:

Veri türü Açıklama Saklar
datetime 1753 yılında 1 Ocak'tan 9999 yılında 31 Aralık'a kadar, 3.33 milisaniye hassasiyeti. 8 bayt
datetime2 1753 yılında 1 Ocak'tan 9999 yılında 31 Aralık'a kadar, 100 nanosecond hassasiyeti. 6-8 bayt
smalldatetime 1900 yılında 1 Ocak'tan 2079 yılında 6 Haziran'a kadar, 1 dakika hassasiyeti. 4 bayt
date Sadece tarih saklar. 0001 yılında 1 Ocak'tan 9999 yılında 31 Aralık'a kadar. 3 bayt
time Sadece zaman saklar. 100 nanosecond hassasiyeti. 3-5 bayt
datetimeoffset datetime2 ile aynı, ek olarak zaman dilimi kayması. 8-10 bayt
timestamp Her zaman bir satır oluşturulduğunda veya değiştirildiğinde güncellenen benzersiz bir numara saklar. Timestamp içsel saate dayanır ve gerçek zamanla eşleşmez. Her tablo sadece bir timestamp değişkeni olabilir.  

Diğer veri türleri:

Veri türü Açıklama
sql_variant En fazla 8,000 bayt farklı veri türü veri saklar, text, ntext ve timestamp haricinde.
uniqueidentifier Global tanımlayıcı (GUID) saklar.
xml XML formatında veri saklar. En fazla 2GB.
cursor Veritabanı operasyonları için işaretçilerin referanslarını saklar.
table Sonuç kümesini saklayarak daha sonra işleme sunun.