SQL DATA TYPES Nedir? Kullanımı Nasıldır? Örneklerle Anlatım
04.02.2021 22:09 3485 Görüntülendi

SQL DATA TYPES Nedir? Kullanımı Nasıldır? Örneklerle Anlatım

SQL Veri Türleri

Veritabanı tablosunda her sütunun bir adı ve türü olması gerekir.

Bir SQL geliştiricisi, bir tablo oluştururken her bir sütunda ne tür verilerin depolanacağına karar vermelidir. Veri türü, SQL ‘in her bir sütunun içinde 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 Veri Türleri (Sürüm 8.0)

MySQL ‘de üç ana veri türü vardır: dizi, sayısal ve tarih ve saat.

Dize veri türleri:

VERİ TİPİ

 Açıklama

CHAR(size)

Bu parametre, karakter cinsinden sınırı belirtir.0-255 arasında sınırlandırılır. Varsayılanı 1’dir.

VARCHAR(size)

Değişken uzunlukta bir diziyi belirtir. Bu parametre karakter cinsinden maksimum aralığı belirtir. 0-65.535 arasında olabilir.

BINARY(size)

CHAR()’a eşittir, ancak ikili bayt dizilerini depolar. Bu parametre bayt cinsinden veri uzunluğunu belirler.

VARBINARY(size)

VARCHAR()’a eşittir, ancak ikili bayt dizilerini depolar. Bu parametre bayt cinsinden maksimum veri uzunluğunu belirler.

TINYBLOB

BLOB’lar için (İkili Büyük Nesneler) Maksimum uzunluk:255 bayt

TINYTEXT

Maksimum 255 karakter uzunluğunda bir diziyi tutar.

TEXT(size)

Maksimum 65.535 bayt uzunluğunda bir diziyi tutar.

BLOB(size)

BLOB’lar için (İkili Büyük Nesneler). 65. 35 bayta kadar veri tutar.

MEDIUMTEXT

Maksimum 16.777.215 karakter uzunluğunda bir dizeyi tutar.

MEDIUMBLOB

BLOB'lar için (İkili Büyük Nesneler). 16.777.215 bayta kadar veri tutar.

LONGTEXT

Maksimum 4.294.967.295 karakter uzunluğunda bir dizeyi tutar.

LONGBLOB

BLOB'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 değere sahip olabilen bir dizi nesnesidir. Bir enum listesinde 65.535’e kadar veri listeleyebilirsiniz. Listede olmayan bir veri girilirse, boş bir veri girilecektir. Değerler girilen sıraya göre sıralanır.

SET(val1, val2, val3, ...)

Olası veriler listesinden seçilen, 0 veya daha fazla veriye sahip olabilen bir dizi nesnesi. Bir SET listesinde 64’e kadar veri listeleyebilirsiniz.

 

Sayısal veri türleri:

VERİ TİPİ

 Açıklama

BIT(boyut)

Veri başına bit sayısı olarak belirtir. Boyut parametresi 1ile 64 arasında bir değer tutabilir. Varsayılan 1‘dir.

TINYINT(boyut)

Tam sayı değerleri -128 ile127 arasındadır. Doğal sayı değerleri 0 ile 255 arasındadır. Boyut parametresi maksimum görüntüleme genişliği olan 255‘dir.

BOOL

Sıfır olmayan değerler doğru kabul edilir.

BOOLEAN

BOOL’a eşittir.

SMALLINT(boyut)

BOOL’a küçük tamsayıya eşittir. TAM sayı değerleri -32.768 ile 32.767 arasındadır. Doğal sayı değerleri 0 ile 65.535 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini(255) belirtir.

MEDIUMINT(boyut)

TAM sayı değerleri -8.388.608 ile 8.388.607 arasındadır. Doğal sayı değerleri 0 ile 16.777.215 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini(255) belirtir.

INT(boyut)

TAM sayı değerleri -2.147.483.648 ile 2.147.483.647 arasındadır. Doğal sayı değerleri 0 ile 4.294.967.295 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini(255) belirtir.

INTEGER(boyut)

INT ’e eşittir.

BIGINT(boyut)

TAM sayı değerleri -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasındadır. Doğal sayı değerleri 0 ile 18.446.744.073.709.551.615 arasındadır. Boyut parametresi maksimum görüntüleme genişliğini(255) belirtir.

FLOAT(boyutd)

MySQL ’de elde edilen veri türü için FLOAT mı DOUBLE mı kullanılacağını belirlemek için p değerini kullanır. P 0 ile 24 aralığında ise FLOAT() olur. P 25 ile 53 arasındaysa, veri türü DOUBLE() olur.

DOUBLE(boyutd)

Toplam basamak sayısını boyut olarak belirtir. Ondalık basamaktan sonraki hane sayısı d parametresinde belirtilir.

DECIMAL(boyutd)

Toplam basamak sayısını boyut olarak belirtir. Ondalık basamaktan sonraki hane sayısı d parametresinde belirtilir. Boyut için maksimum sayı 65’dir. D için maksimum sayı 30’dur. Boyut için varsayılan değer 10’dur. D için varsayılan değer 0’dır.

DEC(boyutd)

DECIMAL ile eşittir.

NOT: tüm sayısal veri türlerinin 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ği eklerseniz, MySQL ayrıca sütuna UNSIGNED özelliği de ekler.

Tarih ve Saat veri türleri:

VERİ TİPİ

 Açıklama

DATE

Bir tarih biçimidir: YYYY-AA-GG. Desteklenen aralık “1000-01-01” ile “9999-12-31” arasındadır.

DATETIME

Bir tarih ve saat kombinasyonu. Biçim: YYY-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şlatmak ve mevcut tarih ve saate güncelleme için sütun tanımına DEFAULT ve ON UPDATE eklenir.

TIME

Bir zaman biçimidir: SS:dd:ss. Desteklenen aralık “838:59:59” ile “838:59:59” arasındadır.

YEAR

Dört basamaklı bir biçimidir.izin verilen değerler 1901-2155 ve 0000 dır.

 

SQL Server Veri Türleri

Dizi Veri Türleri

Veri Tipi

 Açıklama

Max Karakter

Depolama

Char(n)

Sabit genişlikte karakter dizisi

8.000 karakter

Tanımlanmış genişlik

Varchar(n)

Değişken genişlikte karakter dizisi

8.000 karakter

2 bayt + karakter sayısı

Varvhar(max)

Değişken genişlikte karakter dizisi

1.073.741.824 karakter

2 bayt + karakter sayısı

Text

Değişken genişlikte karakter dizisi

2 GB metin verisi

4 bayt + karakter sayısı

Nchar

Sabit genişlikte karakter dizisi

4.000 karakter

4 bayt + karakter sayısı

Nvarchar

Değişken genişlikte Unicode dizisi

4.000 karakter

Tanımlanmış genişlik x 2

Nvarchar(max)

Değişken genişlikte Unicode dizisi

536.870.912 karakter

 

Ntext

Değişken genişlikte Unicode dizisi

2 GB metin verisi

 

Binary(n)

Sabit genişlikte ikili dize

8.000 bayt

 

Varbinary

Değişken genişlikte ikili dize

8.000 bayt

 

Varbinary(max)

Değişken genişlikte ikili dize

2 GB

 

image

Değişken genişlikte ikili dize

2 GB

 

NOT: Unicode 8 bitlik karakter yerine 16 bitlik karakter kullanır.

Sayısal veri türleri:

Veri Tipi

 Açıklama

Depolama

Bit

0 ,1 veya null olabilen tam sayı

 

Tinyint

0-255 arası tam sayılara izin verir.

1 bayt

Smallint

-32.768 ile 32.767 arasında tam sayılara izin verir.

2 bayt

İnt

-2.147.483.648 ile 2.147.483.647 arasında tam sayılara izin verir.

4 bayt

Bigint

-9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasında tam sayılara izin verir.

8 bayt

Decimal(p,s)

-10 ^ 38 +1 ile 10 ^ 38 –1 arasındaki sayılara izin verir. P parametresi, depolanabilecek maksimum toplam basmak sayısını gösterir. P, 1’den 38’e kadar bir değer olmalıdır. Varsayılan 18’dir.

S parametresi, ondalık ayırıcının sağında saklanan maksimum basamak sayısını gösterir. S 0 ile p arasında olmalıdır.

5-17 bayt

Numeric

-10 ^ 38 +1 ile 10 ^ 38 –1 arasındaki sayılara izin verir. P parametresi, depolanabilecek maksimum toplam basmak sayısını gösterir. P, 1’den 38’e kadar bir değer olmalıdır. Varsayılan 18’dir.

S parametresi, ondalık ayırıcının sağında saklanan maksimum basamak sayısını gösterir. S 0 ile p arasında olmalıdır.

5-17 bayt

Smallmoney

-214.748.3648'den 214.748.3647'ye parasal verileri kapsar.

4 bayt

Money

-922.337.203.685.477.5808'den 922.337.203.685.477,5807'ye parasal verileri kapsar.

8 bayt

Float(n)

-1.79E + 308'den 1.79E + 308'e kadar olan hassas sayı verileri kapsar. N parametresi, alanın 4 veya 8 bayt tutması gerektiğini belirtir. Float (24), 4 baytlık bir alanı tutar ve float (53), 8 baytlık bir alanı tutar. N'nin varsayılan değeri 53'tür.

8 veya 8 bayt

Real

-3.40E + 38'den 3.40E + 38'e kadar olan hassas sayı verileri kapsar.

4 bayt

 

Tarih ve Saat veri türleri:

Veri Tipi

 Açıklama

Depolama

Datetime

1 Ocak 1753’ten 31 Aralık 9999’a kadar 3.33 milisaniye hassasiyetle

8 bayt

Datetime2

1 Ocak 0001’den 31 Aralık 9999’a kadar 100 nanosaniye

6-8 bayt

Smalldatetime

1 dakikalık doğrulukla 1 Ocak 1900’den 6 Haziran 2079’a kadar kapsar.

4 bayt

Date

1 Ocak 0001’den 31 Aralık 9999’a kadar bir tarih saklar.

3 bayt

Time

Sadece 100 nanosaniye hassasiyetle bir süre saklar.

3-5 bayt

Datetimeoffset

Datetime2 ile aynıdır.

8-10 bayt

Timestamp

Zaman damgası değeri dahili bir saate dayanır ve gerçek zamana karşılık gelmez. Her tablonun yalnızca bir zaman damgası değişkeni olabilir.

 

Diğer veri türleri:

Veri Tipi

 Açıklama

Sql_variant

Çeşitli veri türlerinde 8.000 bayta kadar veri depolar, except text,ntext, and timestamp

uniqueidentifier

Küresel olarak benzersiz bir tanımlayıcı saklar

xml

XML formatlı verileri depolar. Maksimum 2 GB

cursor

Veritabanı işlemleri için kullanılan bir imlece yönelik bir referansı saklar.

table

Daha sonra işlenmek üzere bir sonuç kümesi saklar.

 

Microsoft Access Veri Türleri

Veri Tipi

 Açıklama

Depolama

Text

Metin ve sayı kombinasyonları için kullanılır. Maksimum 255 karakter.

 

Memo

Daha büyük miktarda metin için kullanılır.65.536karaktere kadar depolar.

 

Byte

0 ile 255 arası tam sayılara izin verir.

1 bayt

Integer

-32.768 ile 32.767 arasında tam sayılara izin verir.

2 bayt

Long

-2.147.483.648 ile 2.147.483.647 arasında tam sayılara izin verir.

4 bayt

Single

Çoğu ondalık sayıları işleyen tek hassas değişken nokta

4 bayt

Double

Çoğu ondalık sayıları işleyen çift hassas değişken nokta

8 bayt

Currency

Para birimi için kullanın. 15 haneye kadar tam dolar ve 4 ondalık hane tutar. NOT: Hangi ülkenin para birimini kullanacağınızı seçebilirsiniz.

8 bayt

AutoNumber

Otomatik olarak her kayda sayı atar. Genellikle 1’den başlar.

4 bayt

Date/Time

Tarihler ve saatler için kullanılır.

8 bayt

Yes/No

Mantıksal bir alan Evet/Hayır,Doğru/Yanlış veya Açık/Kapalı olarak görüntülenebilir.Kodda doğru/yanlış sabitlerini kullanın(1 ve 0’a eşdeğer)

NOT: EVET/HAYIR alanlarında boş değerlere izin verilmez.

1 bit

Ole Object

Resimleri, sesleri, videoları saklayabilir.

1 GB’a kadar

Hyperlink

Web sayfaları dahil diğer dosyalara bağıntılar içerir.

 

Lookup Wizard

Daha sonra açılır listeden seçilebilecek bir seçenek listesi yazmanıza izin verin

4 bayt

 

 

İçerik: YUSUF ERDOĞAN