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 ‘de üç ana veri türü vardır: dizi, sayısal ve tarih ve saat.
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. |
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(boyut, d) |
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(boyut, d) |
Toplam basamak sayısını boyut olarak belirtir. Ondalık basamaktan sonraki hane sayısı d parametresinde belirtilir. |
DECIMAL(boyut, d) |
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(boyut, d) |
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.
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. |
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.
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 |
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. |
|
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. |
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