MySQL Veri Türleri: Özellikler ve Örnekler

Son Güncelleme: 7 Eylül 2025
  • Veri tipleri, MySQL'de değerlerin nasıl saklanacağını, işleneceğini ve alınacağını tanımlayarak bütünlüğün ve performansın korunmasını sağlar.
  • Sayısal, tarih ve dize türleri, yerden tasarruf etmek ve yuvarlama hatalarını önlemek için farklı aralıklar ve hassasiyetler sunar.
  • Doğru türü (TinyInt, Decimal, DateTime, VarChar, Blob) seçmek sorguları, depolama alanını ve veri doğruluğunu optimize eder.
MySQL'deki veri türleri

MySQL'deki veri türleri nelerdir ve neden önemlidirler? MySQL'deki veri türleri, bir veritabanında saklanabilen farklı bilgi kategorilerini ifade eder. Bu türler, verilerin nasıl saklanacağını, işleneceğini ve alınacağını tanımlamanıza olanak tanır. Farklı sayısal, tarih ve dize türlerini bilmek, başarılı bir veritabanı için çok önemlidir. verimli veritabanı tasarımı ve kayıt bütünlüğünü ve doğruluğunu garanti altına alın. Bu makalede, her birini nasıl çalıştıklarını ve özellikle nasıl kullanıldıklarını anlamanıza yardımcı olacak açık örneklerle inceleyeceğiz. MySQL'deki veri türlerinin büyüleyici dünyasına dalalım!

MySQL'de veri tipleri nelerdir?

MySQL'deki veri tipleri, bilgilerin bir veritabanında depolanma ve işlenme biçimini ifade eder. Bu türler, sayılar, tarihler veya metin dizeleri gibi saklanabilecek değerlerin özelliklerini ve sınırlamalarını belirler. Her türün kendine özgü özellikleri ve kısıtlamaları vardır; bu, veri bütünlüğünün sağlanması ve sistem performansının optimize edilmesi açısından kritik öneme sahiptir. Verimli tablolar tasarlamak ve gelecekte veri işlerken sorun yaşamamak için bu tiplerin anlaşılması önemlidir.

MySQL'de TinyInt, SmallInt ve Integer gibi farklı tam sayı aralıklarını temsil eden çeşitli sayısal türler vardır. Kesin ondalıklı sayıları işlemek için Float veya Decimal gibi türler de mevcuttur.

Ayrıca DateTime veya TimeStamp gibi tarih ve saatlerle ilgili tipler de bulunmaktadır.
Ve son olarak, sabit uzunlukta metin depolamanıza izin veren Char(n) veya VarChar(n) gibi dize türleri vardır. değişken sırasıyla. Uzun metinler için MediumText veya LongText gibi daha büyük olanları da mevcuttur.

Bu seçenek çeşitliliği, verilerimizin MySQL'de nasıl saklanacağını ve işleneceğini tanımlamada esneklik sağlar, böylece doğru ve etkili sonuçlar elde edebiliriz!

Sayısal tipler

Sayısal türler, MySQL'de sayısal verileri depolamak ve düzenlemek için önemlidir. MySQL Çalışma Tezgahı Bu tipler, şemaları ve sorguları optimize etmek için tanımlanabilir ve incelenebilir.

TinyInt küçük tamsayı değerlerini depolamak için kullanılırken, Bit veya Bool tek bir bitlik Boole bilgisini depolar. Öte yandan SmallInt küçük sayılar için idealdir, MediumInt daha büyük aralıkları işler ve Integer ve Int ise standart tam sayı değerleri için mükemmeldir. Çok büyük sayıları saklamanız gerekiyorsa BigInt'i tercih edebilirsiniz.

MySQL kullanıcıları sadece farklı sayısal tipler arasından seçim yapmakla kalmayıp aynı zamanda ondalık sayılar üzerinde de hassas kontrole sahip olabilirler. Bu seçenekler arasında daha yüksek tek hassasiyetli sayılar için Float, daha yüksek doğruluk için xReal ve Double yer alır. Eğer isterseniz, sayısal verilerinizdeki ondalık sayılar üzerinde tam kontrole sahip olabilmeniz için Decimal, Decimal veya Numeric seçeneklerini de kullanabilirsiniz.

KüçükInt

MySQL'de TinyInt veri tipi küçük tamsayı değerlerini depolamak için kullanılır. -128 ile 127 arasında veya UNSIGNED değiştiricisini kullanırsanız 0 ile 255 arasında tam sayıları depolamanıza olanak tanır.

TinyInt'i kullanmanın en büyük avantajı çok az depolama alanı kaplaması ve yalnızca bir bayt gerektirmesidir. Bu, örneğin Boole durumlarını kaydederken (1 = doğru, 0 = yanlış) veritabanı alanından tasarruf etmeniz gereken durumlar için idealdir.

Bit veya Bool

MySQL’deki bir sonraki veri tipi “bit” veya “bool”dur. Bu veri türü, true veya false gibi mantıksal değerleri depolamak için kullanılır. Veritabanında boolean değerler doğru (true) için 1, yanlış (false) için 0 şeklinde gösterilir. Özellikle evet/hayır veya açık/kapalı gibi ikili yanıtları depolamamız gerektiğinde oldukça kullanışlıdır. Bu veri türüyle, yalnızca bir bit'i Boolean bilgisini depolamak için kullanarak veritabanındaki alan kullanımını optimize edebiliriz.

“Bit” veya “bool” veri tipi, mantıksal değerleri MySQL’de verimli ve doğru bir şekilde depolamamıza olanak tanır.

  MySQL'de tablo oluşturma: Örnekler ve açıklamalar

dar Şerit

SmallInt, MySQL'de küçük tam sayıları depolamak için kullanılan sayısal bir veri türüdür. -32,768 ile 32,767 arasında değerler içerebilir. TinyInt'in aksine SmallInt, 2 bayt yerine 1 bayt kaplar ve bu sayede daha geniş bir tam sayı aralığını temsil edebilir.

Bu veri türü, TinyInt tarafından desteklenenden daha büyük sayısal verileri depolamanız gerektiğinde ancak Integer veya BigInt tarafından sunulan tam aralığa henüz ihtiyaç duymadığınızda kullanışlıdır. SmallInt, küçük tam sayıların depolanması gereken ancak aşırı hassasiyetin gerekmediği durumlarda yerden tasarruf etmek ve performansı artırmak için kullanılabilir.

OrtaInt

MediumInt, MySQL'de SmallInt'ten büyük ancak Integer veya BigInt'ten küçük tam sayıları depolamak için kullanılan bir diğer sayısal veri türüdür. Bu veri tipi 3 bayt yer kaplar ve -8388608 ile 8388607 arasında bir aralığa sahiptir.

MediumInt'in bir avantajı da çok fazla yer kaplamadan büyük miktarda veriyi depolayabilmesidir. Bu, çok sayıda kayıt içeren veritabanlarıyla çalışırken ve depolama alanı kullanımını optimize etmeniz gerektiğinde yararlı olabilir. Ayrıca, SmallInt ve Integer türleri arasında bir ara boyut olan MediumInt, projenin özel ihtiyaçlarına bağlı olarak uygun hassasiyeti sağlayabilir.

Tamsayı ve Tamsayı

MySQL'de Integer ve Int sayısal veri tipleridir. Her ikisi de ondalık sayılar olmadan tam sayı değerlerini depolamak için kullanılır.

Integer türü daha geniş bir aralığa sahiptir ve -2147483648 ile 2147483647 arasındaki tam sayıları depolamanıza olanak tanır. Öte yandan, Int türü Integer'ın daha kısa bir versiyonudur ve -32768 ile 32767 arasındaki değerleri tutabilir. Bu veri türleri, ondalık gerektirmeyen miktarları veya tanımlayıcıları depolamamız gerektiğinde idealdir.

BigInt

MySQL'de "BigInt" veri tipi çok büyük tam sayıları depolamak için kullanılır. Maksimum 8 byte uzunluğunda negatif veya pozitif değerler içerebilir. Bu, TINYINT veya SMALLINT gibi daha küçük sayısal türlere kıyasla çok daha geniş bir değer aralığını depolayabileceği anlamına gelir.

BigInt tipi, son derece büyük tam sayıları işleyebilme yeteneği nedeniyle, karmaşık matematiksel hesaplamalarla çalışırken veya çok büyük sayıları içeren işlemler gerçekleştirirken özellikle yararlıdır. Bu veri türünü doğru şekilde kullanarak, veritabanınızın doğruluk veya verimlilikten ödün vermeden büyük miktarları işleyebilmesini sağlayabilirsiniz.

Şamandıra

MySQL'de "Float" veri tipi ondalık nokta içeren sayıları saklamak için kullanılır. Gerçek değerleri temsil etmek için kullanılır ve 23 basamağa kadar hassasiyete olanak verir. Parasal miktarlar veya bilimsel ölçümler gibi geniş bir ondalık değer aralığına ihtiyaç duyulduğunda idealdir.

Örnek olarak, ortalama aylık sıcaklığın bir iklim veritabanında depolanması verilebilir. "Float" türü, 25.6 veya -10.2 gibi değerlerin kaydedilmesini sağlayarak, elde edilen sonuçlardaki ayrıntıları kaybetmeden sonraki hesaplamaları yapmak için gereken hassasiyeti sağlar. SQL'e yeni başlayanlar için aşağıdaki kaynaklara bakın: Sıfırdan SQL Bu sayısal tiplerin nasıl işleneceğini anlamaya yardımcı olur.

xReal ve Çift

xReal ve Double veri tipleri MySQL'de ondalık sayıları, Float gibi temel sayısal tiplerden daha yüksek hassasiyetle depolamak için kullanılır.

xReal veri tipi değişken hassasiyetli gerçek sayıları depolamak için kullanılırken, Double veri tipi daha büyük ondalık sayıları temsil etmek için kullanılır. Her iki tür de, MySQL'de ondalık değerlerle çalışırken esneklik sağlayan, anlamlı basamakların ve ondalık noktadan sonraki basamakların maksimum sayısını belirtmenize olanak tanır.

Ondalık, Onluk ve Sayısal

Decimal veri tipi, Dec veya Numeric olarak da bilinir ve MySQL'de sayıları kesin ondalık hassasiyetle depolamak için yaygın olarak kullanılır. Bu veri tipi, toplam basamak sayısını ve ondalık noktadan sonraki basamak sayısını belirtmenize olanak tanır. Örneğin, Decimal(5,2) alanını tanımlarsanız, toplamda en fazla 5 basamak ve ondalık noktadan sonra 2 basamak içeren sayıları saklayabilirsiniz.

Bu, para değerleriyle veya yüksek ondalık kesinliği gerektiren herhangi bir sayı türüyle çalışmamız gerektiğinde faydalıdır. Ayrıca, Decimal veri türü işlemlerin matematik Bu alanlarda yapılan işlemler her zaman istenilen hassasiyeti koruyarak istenmeyen yuvarlama hatalarından kaçınılmasını sağlar. Yani eğer büyük ondalık sayılarla çalışıyorsanız ve MySQL veritabanınızda bunların doğruluğunu korumanız gerekiyorsa, Decimal türü kesinlikle tercih etmeniz gereken türdür!

  MySQL'de Örneklerle Nerede: Ana Koşullu Sorgular

Tarih çeşitleri

MySQL'deki tarih tipleri, tarih ve saatlerle ilgili bilgileri depolamak ve düzenlemek için önemlidir. En yaygın türlerden ikisi DateTime ve TimeStamp'tır.

DateTime belirli bir tarih ve saati temsil etmek için kullanılırken, TimeStamp ise esas olarak bir tabloya kayıt eklendiğinde veya güncellendiğinde zaman damgasını kaydetmek için kullanılır. Her ikisinin de kullanımını ve sonraki hesaplamaları kolaylaştıran önceden tanımlanmış formatları vardır. MySQL veritabanlarımızda geçici bilgilerle çalışmamız gerektiğinde bu veri tipleri olmazsa olmazdır. Aşağıdan onlar hakkında daha fazla bilgi edinin!

DateTime

DateTime, MySQL'de tarih ve saat değerlerini depolamak için kullanılan bir veri türüdür. 1000 yılından 9999 yılına kadar olan tarihleri, ilgili saatle birlikte temsil etmeyi sağlar. Verileri belirli zaman aralıklarına göre sıralamak veya filtrelemek gibi tarih ve saatle ilgili işlemler yapmamız gerektiğinde oldukça kullanışlıdır.

Bu tür veriler YYYY-AA-GG SS:DD:SS biçiminde gösterilir. Burada YYYY yılı, AA ayı, GG günü, SS saati (24 saatlik biçimde), DD dakikayı ve SS saniyeyi belirtir. DateTime ile hem geçmiş hem de gelecek tarihleri ​​depolayabiliriz, bu da bize MySQL veritabanlarımızda farklı zamansal senaryolarla çalışma esnekliği sağlar.

TimeStamp

MySQL'deki TimeStamp veri türü, saat dilimi de dahil olmak üzere belirli bir tarih ve saati depolamak için kullanılır. Veritabanımızda bir eylemin veya işlemin tam olarak ne zaman gerçekleştirildiğini kaydetmemiz gerektiğinde çok faydalıdır.

TimeStamp'ın avantajı, iki zaman damgası arasındaki farkı elde etmek gibi tarihlerle ilgili işlemleri ve hesaplamaları basit bir şekilde yapabilmemize olanak sağlamasıdır. Ayrıca, yüksek düzeyde zamansal ayrıntıya ihtiyaç duyduğumuz zamanlarda ideal olan, bilgileri mikro saniyelere kadar hassasiyetle depolar.

Zincir çeşitleri

MySQL'de metin verilerini depolamak ve düzenlemek için dize türleri önemlidir. En yaygın türlerden biri, belirli bir maksimum uzunluğa sahip sabit karakter dizilerini depolamanıza olanak tanıyan Char(n)'dir. Öte yandan VarChar(n), tanımlanmış maksimum uzunluğa sahip değişken dizeleri için kullanılır. Ayrıca, önemli miktarda metinsel veriyi işlemenize olanak tanıyan TinyText ve TinyBlob, Blob ve Text, MediumBlob ve MediumText, LongBlob ve LongText gibi diğer türler de vardır.

Bu farklı dize türleri, programcılara metinsel bilgileri bir MySQL veritabanında depolarken esneklik sağlar. Bunları doğru kullanarak, metinle çalışırken uygulamalarımızın hem performansını hem de doğru çalışmasını sağlayabiliriz. Küçük dizelerden büyük dosyalara veya tüm belgelere kadar, farklı türler, uygulamanızda veya web projenizde metnin önemli olduğu her duruma uyum sağlamamız için gerekli araçları sunar. Gerçek projelerdeki pratik kullanımları görmek için bkz. veritabanı örnekleri

Karakter(n)

MySQL'deki Char(n) veri tipi, sabit uzunluktaki karakter dizilerini depolamak için kullanılır. 'n' harfi, dizenin içerebileceği maksimum karakter sayısını temsil eder. Örneğin, bir Char(10) alanı tanımlarsak, dize daha kısa olsa bile, yalnızca 10 karakter saklayabiliriz.

Bu veri türü, VarChar(n) gibi diğer değişken veri türlerine kıyasla daha iyi performans sunduğu için, her zaman aynı uzunluktaki dizeleri depolamamız gerektiğini bildiğimizde kullanışlıdır. Ancak her kayıtta 10 karakterin tamamını kullanmazsanız, belirtilen maksimum uzunluğa ulaşana kadar kayıt otomatik olarak boşluklarla doldurulacaktır.

VarChar(n)

VarChar(n), MySQL'de yaygın olarak kullanılan bir diğer veri tipidir. Değişken karakter dizelerinin, n değeriyle belirtilen maksimum uzunlukta depolanmasına olanak tanır. Bu, her kayıt için saklamak istediğimiz maksimum karakter sayısını tanımlayabileceğimiz anlamına gelir.

  Veri Soyağacı: Nedir, faydaları ve nasıl uygulanır?

Örneğin, VarChar(50) kullanırsak, 50 karaktere kadar olan dizeleri kaydetmek istediğimizi söylemiş oluruz. Bu veri tipinin yalnızca gerçek verileri depolamak için gereken alanı kullanacağını unutmamak önemlidir; bu, her kayıt için tam olarak kaç karaktere ihtiyacımız olduğunu bilmediğimiz durumlarda faydalı olabilir.

TinyText ve TinyBlob

TinyText ve TinyBlob, MySQL'de metin veya küçük ikili bilgileri depolamak için kullanılan veri türleridir.

TinyText, 255 karaktere kadar veri depolayabilen bir veri türüyken, TinyBlob ise 255 bayta kadar bilgi tutabilir. Bu veri tipleri, bir tablonun bir sütununda az miktarda metin veya ikili veri depolamanız gerektiğinde kullanışlıdır. Kısa adlar, kısa açıklamalar veya küçük resim gibi alanlar için idealdir. Sınırlı kapasiteleri sayesinde bu veri tipleri fazla disk alanı kaplamayarak sistem performansının optimize edilmesine yardımcı olur.

Blob ve Metin

Blob ve Text, MySQL'de büyük miktarda bilgiyi depolamak için kullanılan iki veri türüdür.

Blob türü, resimler veya medya dosyaları gibi ikili verileri depolamak için kullanılır. Öte yandan, Metin türü web sayfaları veya uzun belgeler gibi uzun metinleri depolamak için kullanılır. Bu veri tipleri, özellikle diğer daha küçük tiplerin sınırlarını aşan bilgileri depolamanız gerektiğinde oldukça kullanışlıdır. Hem Blob hem de Text, MySQL veritabanınızdaki büyük veri hacimlerini herhangi bir sorun yaşamadan yönetmenize olanak tanır.

MediumBlob ve MediumText

MediumBlob ve MediumText, MySQL'de büyük miktarda bilgi depolamanıza olanak sağlayan veri türleridir.
MediumBlob türü, resimler veya medya dosyaları gibi ikili verileri depolamak için kullanılırken, MediumText türü ise uzun paragraflar veya tüm belgeler gibi uzun metinleri depolamak için kullanılır. Bu veri türleri, boyut sınırlamaları konusunda endişelenmeden büyük miktarda içerik depolamanız gerektiğinde idealdir. Bunları web uygulamalarında, bloglarda veya büyük miktarda metinsel veya ikili bilginin işlenmesinin gerekli olduğu herhangi bir sistemde kullanabilirsiniz.

LongBlob ve LongText

LongBlob ve LongText, MySQL'de büyük miktarda bilgiyi depolamak için kullanılan veri tipleridir. Metin veya resim veya belge gibi büyük dosyaları kaydetmemiz gerektiğinde idealdir.

Bu tür veriler 4 GB'a kadar bilgi depolayabildiğinden farklı uygulamalar için çok yönlüdür. Ayrıca diğer zincir çeşitleri gibi maksimum uzunluk belirtilmesi gerekmediğinden kullanımı kolaydır.

MySQL veritabanınızda büyük miktarda içerik depolamanız gerekiyorsa LongBlob ve LongText ideal seçimlerdir.

Veritabanı yöneticisi nedir?
İlgili makale:
Bir veritabanı yöneticisinin ne olduğu hakkında bilmeniz gereken 7 temel husus

Sonuç

Bu yazımızda MySQL'deki farklı veri tiplerini ve her birinin ayırt edici özelliklerini inceledik. Farklı aralıklardaki tam sayı değerlerini saklamamıza olanak sağlayan TinyInt, SmallInt ve Integer gibi sayısal tipleri öğrendik. Veritabanlarımızda tarih ve saatleri temsil etmek için kullanışlı olan DateTime ve TimeStamp gibi tarih türlerine de baktık.

Ayrıca, sabit veya değişken uzunluktaki karakter dizilerini depolamak için kullanılan Char(n) ve VarChar(n) gibi dize türlerine de baktık. Ayrıca, büyük hacimli ikili veya metin verilerinin verimli bir şekilde işlenmesi için Blob ve Metin gibi diğer türleri de öğrendik.

MySQL'de veritabanımızı tasarlarken bu çeşitli veri tiplerini hesaba katmak önemlidir. Özelliklerini bilmek, projenin özel ihtiyaçlarına göre en uygun tipi seçmemize olanak tanır.

Umarım bu makale MySQL'deki veri tiplerini daha iyi anlamanıza yardımcı olmuştur! Uygulamalarınızda performansı ve verimliliği optimize etmek için bunları doğru şekilde kullanmayı unutmayın.