Mysql ‘de Alan Tipleri
Genellikle int, varchar, text gibi temel alanları kullanarak veritabanı geliştirilir. Ancak uygulamanın belkemiği veritabanı olduğu için “veritabanı tasarımı” projenin en önemli aşamalarından birisidir. İyi bir veri tabanı tasarımı yapabilmek için öncelikle mysql ‘de hangi alan tiplerinin kullanılabileceğinin iyi bilinmesi gerekir.
Evet konu çok basit ancak ileriki dönemlerde ele almayı düşündüğüm mysql konusuna temel olması açısından hepsini bir araya toplayarak kısa ve öz bir başvuru kulavuzu tarzında belge oluşturmak istedim…
int
Örnek : `alan` int(11) NOT NULL auto_increment,
Normal : 2mily/2mily arası ve işaretsiz 0/4mily arası tamsayı, Parametre olarak tamsayı uzunluğunu alır.
char
Örnek: `alan` char(20) default NULL;
0-255 uzunluğunda, sabit uzunlukta karakter dizilerini saklamak için kullanılır. Parametre olarak karakter dizisinin uzunluğunu alır.
varchar
Örnek: `alan` varchar(20) NOT NULL;
0-255 uzunluğunda, değişken uzunlukta karakter dizilierini saklamak için kullanılır. Parametre olarak karakter dizisinin maksimum uzunluğunu alır.
tinytext
Örnek: `alan` tinytext;
Maksimum 255 karakter uzunluğunda metin.
text
Örnek: `alan` text;
Maksimum 65.535 karakter uzunluğunda metin.
blob
Örnek: `alan` blob;
‘Maksimum 65.535 karakter uzunluğunda metin.
mediumtext
Örnek: `alan` mediumtext;
Maksimum 16.777.215 karakter uzunluğunda metin.
mediumblob
Örnek: `alan` mediumblob;
Maksimum 16.777.215 karakter uzunluğunda metin.
longtext
Örnek: `alan` longtext;
Maksimum 4.294.967.295 karakter uzunluğunda metin.
longblob
Örnek: `alan` longblob;
Maksimum 4.294.967.295 karakter uzunluğunda metin.
tinyint
Örnek: `alan` tinyint(2) unsigned NOT NULL;
Normal :128/127 arası ve işaretsiz: 0/255 arası tamsayı. Parametre olarak tamsayı uzunluğunu alır.
smallint
Örnek: `alan` smallint(6) default NULL;
Normal : 32768/32767 arası ve işaretsiz: 0/65535 arası tamsayı. Parametre olarak tamsayı uzunluğunu alır.
mediumint
Örnek: `alan` mediumint(9) default NULL;
Normal : 8388608/8388607 arası ve işaretsiz: 0/16777215 arası tamsayı. Parametre olarak tamsayı uzunluğunu alır.
bigint
Örnek: `alan` bigint(20) default NULL;
Normal : 9kentr/9kentr ve işaretsiz 0/18kentr arası tamsayı. Parametre olarak tamsayı uzunluğunu alır.
float
Örnek: `alan` float(9,3) default NULL;
Küçük ondalıklı sayı. 2. parametre ondalık hane sayısını ifade eder.
double
Örnek: `alan` double(15,3) default NULL;
Büyük ondalıklı sayı. 2. parametre ondalık hane sayısını ifade eder.
date
Örnek: `alan` date default NULL;
Tarih değerlerini saklamak için kullandığımız alan. YYYY-MM-DD formatında saklanır.
datetime
Örnek: `alan` datetime default NULL;
Tarih-saat değerlerini saklamak için kullanırız. YYYY-MM-DD HH:MM:SS formatında saklanır.
timestamp
Örnek: `alan` timestamp NOT NULL default ’0000-00-00 00:00:00′
Unix timestamp… YYYYMMDDHHMMSS ……
time
Örnek: `alan` time default NULL
Saat değerlerini saklamak için kullanırız. HH:MM:SS formatında saklanır.
enum
Örnek: `alan` enum(‘DEGER1′,’DEGER2′,’DEGER3′);
Parametre olarak belirlenen değerleri alabilen alan. Yukarıdaki örnekte alan, ‘DEGER1′,’DEGER2′,’DEGER3′ değerlerini alabilir.
set
Örnek: `alan` set(‘değer1′,’değer2′,’değer3′) default NULL
enum den farkı, birden fazla değer seçilebilir olmasıdır.
Pek tavsiye edilmese de bazen resim vs gibi elemanlar direkt olarak veritabanına kaydetmek istenebiliyor. Bu gibi işler için blob, mediumblob, longblob alanları kullanılabilir. Bunun yanında bazı durumlarda, ihtiyacınız olan alan tipi yukarıdakilerden birkaçına birden uyabilir. Bu gibi durumlarda programcı en uygun olanı seçebilmelidir. Örneğin tarih değerleri veritabanında date tipinde alanda saklanabileceği gibi, varchar tipinde alanda da saklanabildiği görülmesine rağmen, her kullanımın kendine göre avantaj ve dezavantajlarını da bilmek gerekir ki oluşturduğumuz veritabanı, ileride elimizi kolumuzu bağlayıp başımıza dert olmasın. Veritabanı konusuna çok önem verdiğim için bu tür yazılara ileride yer vermeye çalışacağım.

işe yarar bir paylaşım teşekkürler arkadaş
1