MySQL veritabanında kullanılan veri tipleri ve sınırlamaları konusunda bilgi sahibi olmanın önemli olduğu belirtilmiştir En temel veri tiplerinin INT, VARCHAR, FLOAT, DOUBLE, BOOLEAN, DATETIME ve TEXT olduğu ifade edilmiştir Ayrıca gelişmiş veri tipleri arasında DATE, TIME, YEAR, ENUM ve SET veri tipleri de bulunduğu belirtilmiştir
Temel veri tipleri arasında en sık kullanılanların INT, CHAR, VARCHAR ve TEXT olduğu belirtilmiştir INT veri tipi için kullanılabilecek iki ana seçeneğin SIGNED ve UNSIGNED olduğu ifade edilmiştir Ayrıca INT, TINYINT, SMALLINT, MEDIUMINT ve BIGINT olarak farklı boyutlarda da kullanılabileceği belirtilmiştir
VARCHAR veri tipinin değişken uzunlukta karakter dizileri için kullanıldığı ve her karakter dizisi için maksimum uzunluk sınırı belirlendiği ifade edilmiştir Ancak, her karakterin byte'larının toplamından oluşan bir sınır olduğuna da dikkat çekil

MySQL veritabanı, farklı veri tiplerini saklayabilen bir yapıdadır. Yanlış veri tipleri veya sınırlamalar, veritabanının kullanımını ve veri yönetimini olumsuz etkileyebilir. Bu nedenle MySQL veri tipleri ve sınırlamaları konusunda bilgi sahibi olmak özellikle önemlidir.
MySQL'de kullanılan en temel veri tipleri, INT, VARCHAR, FLOAT, DOUBLE, BOOLEAN, DATETIME ve TEXT'tir. INT, en sık kullanılan veri tipidir ve tam sayılar için kullanılır. VARCHAR ise karakter dizileri için kullanılır ve sınırlanabilir uzunluk belirleyebilirsiniz. Bunun yanı sıra, gelişmiş veri tipleri arasında DATE, TIME, YEAR, ENUM ve SET veri tipleri de bulunmaktadır.
- INT: Tam sayılar için kullanılır ve sınırlamalar belirlenebilir.
- VARCHAR: Karakter dizileri için kullanılır ve uzunluğu sınırlanabilir.
- FLOAT ve DOUBLE: Ondalık sayılar için kullanılır.
- BOOLEAN: True veya False değerleri için kullanılır.
- DATETIME: Tarih ve zaman bilgileri için kullanılır.
- TEXT: Uzun metin dizileri için kullanılır. Sınırlamasızdır.
Veri tiplerinin özellikleri doğru anlaşılmadığı takdirde, sorgulama sonuçları yanlış sonuçlar verebilir. Doğru veri tipi seçilmediği takdirde, veriler yeterince optimize edilemeyebilir veya hafıza tükenmesi gibi sorunlar yaşanabilir. Bu nedenle veri tiplerinin doğru seçilmesi, veritabanı yönetimi açısından son derece önemlidir.
Temel Veri Tipleri
MySQL veri tipleri, veritabanında tutulan bilgilerin tutulduğu alanın tipini belirler. Veri tipleri sayesinde, veritabanı yöneticileri ve programcılar, verileri ne şekilde saklayacaklarını ve işleyeceklerini belirleyebilirler. Temel veri tipleri, en sık kullanılan veri tipleridir ve oldukça önemlidirler.
MySQL'de temel veri tipleri arasında en sık kullanılanlar şunlardır:
Veri Tipi | Açıklama |
---|---|
INT | Tam sayılar için veri tipidir. Verebileceği en büyük değer 2147483647, en küçük değer ise -2147483648'dir. |
CHAR | Sabit uzunluklu karakter dizileri için veri tipidir. En fazla 255 karakter tutabilir. |
VARCHAR | Değişken uzunluklu karakter dizileri için veri tipidir. En fazla 65,535 karakter tutabilir. |
TEXT | Uzun metinler için veri tipidir. En fazla 65,535 karakter tutabilir. |
Temel veri tipleri, programcılar tarafından sıklıkla kullanıldığı için sınırlamalarını bilmek oldukça önemlidir. Örneğin, INT veri tipi için en küçük ve en büyük değerleri bilmek, programda gösterilen veya kaydedilen sayıların uygun şekilde tanımlanmasını sağlar.
INT
INT, MySQL'in en yaygın kullanılan temel veri tiplerinden biridir. Bu veri tipi, tam sayıları saklamak için kullanılır. INT tipinde, kullanabileceğiniz 2 ana seçenek vardır: SIGNED ve UNSIGNED.
SIGNED INT, negatif ve pozitif tam sayıları saklamak için kullanılırken, UNSIGNED INT sadece pozitif tam sayıları saklamak için kullanılır.
Veri Tipi | Boyut (byte) | Signed | Unsigned |
---|---|---|---|
TINYINT | 1 | -128 to 127 | 0 to 255 |
SMALLINT | 2 | -32,768 to 32,767 | 0 to 65,535 |
MEDIUMINT | 3 | -8,388,608 to 8,388,607 | 0 to 16,777,215 |
INT | 4 | -2,147,483,648 to 2,147,483,647 | 0 to 4,294,967,295 |
BIGINT | 8 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0 to 18,446,744,073,709,551,615 |
- TINYINT: Küçük alanların saklanması için kullanılır ve -128 ila 127 arasındaki sayıları saklayabilir.
- SMALLINT: Orta büyüklükteki alanların saklanması için kullanılır ve -32,768 ila 32,767 arasındaki sayıları saklayabilir.
- MEDIUMINT: Daha büyük alanların saklanması için kullanılır ve -8,388,608 ila 8,388,607 arasındaki sayıları saklayabilir.
- INT: Hemen hemen her tür veri içinde kullanılabilen ve -2,147,483,648 ila 2,147,483,647 arasındaki sayıları saklayabilen en yaygın kullanılan veri tipidir.
- BIGINT: Çok büyük verilerin saklanması için kullanılır ve -9,223,372,036,854,775,808 ila 9,223,372,036,854,775,807 arasındaki sayıları saklayabilir.
Bu veri tiplerinin boyutları, veri tipinin ne kadar büyük veri saklayabildiğine bağlıdır. İhtiyacınız olan veri boyutunu belirlemek için, veri tipinin yönlendirilmeli olduğu maksimum ve minimum sayılarla ilgili sınırlamalara dikkat etmeniz gerekir.
VARCHAR
VARCHAR, karakter dizileri için kullanılan bir veri tipidir. Bu veri tipi, değişken uzunlukta karakter dizileri için kullanılır. VARCHAR kullanırken, her karakter dizisi için maksimum uzunluk sınırı belirlenir. Bu özellik, veri tabanı boyutunu optimize etmek için önemlidir.
VARCHAR'ın en önemli sınırlandırması, her karakter dizisi için belirlenen maksimum uzunluktur. Bu uzunluk sınırı, karakter dizisi içindeki her karakterin byte'larının toplamından oluşur. Örneğin, VARCHAR(10) ile belirtilen karakter dizisi, en fazla 10 karakter içerebilir. Ancak, her karakterin UTF-8 formatına dönüştürüldüğünde, her karakter 1 ila 4 byte arasında değişen bir alan kaplayabilir. Bu nedenle, varchar'ın sınırı, 10 ile çarpılıp byte cinsinden belirlenir ve bu sınırın aşılması durumunda veriler kesilir.
Örneğin, VARCHAR(100) ile belirtilen bir alanın maksimum uzunluğu 100 karakterdir, ancak bunların UTF-8'e dönüştürüldüğünde her karakterin en fazla 4 byte'a ihtiyaç duyabileceği unutulmamalıdır. Bu nedenle, söz konusu alanın maksimum boyutu 400 byte olacaktır. Veri tabanı tasarımı sırasında, VARCHAR alanları için maksimum mümkün boyut kullanılmamalıdır.
Gelişmiş Veri Tipleri
MySQL'in gelişmiş veri tipleri, sık kullanılan temel veri tiplerinin özelliklerini genişletir ve farklı veri türleriyle çalışılabilmesini sağlar. İşlevleri ve kullanım alanları da temel veri tiplerine göre daha spesifik ve çeşitlidir.
Bunlardan biri DATE veri tipidir. Bu tip, tarih ve zaman verilerini saklamak için kullanılır. Veriler "YYYY-MM-DD" formatında kaydedilir. Örneğin, "2021-11-22" bir DATE verisi olarak kaydedilebilir. Bu veri tipi, çeşitli tarih ve zaman fonksiyonlarıyla birlikte kullanılabilir.
Bir diğer gelişmiş veri tipi ise ENUM veri tipidir. Bu tip, belirtilen bir dizi içinde yer alan değerleri saklamak için kullanılır. Örneğin, bir kullanıcının cinsiyetini "Erkek" veya "Kadın" seçenekleri arasından biriyle seçmesi için ENUM veri tipi kullanılabilir. Bu veri tipi, sorgu yazımını kolaylaştırır ve verilerin doğruluğunu arttırır.
Bir başka gelişmiş veri tipi de JSON veri tipidir. Bu tip, JSON formatındaki verileri saklamak için kullanılır. JSON, verileri nesneler ve diziler şeklinde saklamak için popüler bir format haline gelmiştir. Bu veri tipi, veri işleme ve analizi için uygun bir şekilde yapılandırılmış verilerin saklanmasını sağlar.
Diğer gelişmiş veri tipleri arasında GEOMETRY, POINT ve POLYGON veri tipleri de bulunur. Bu tipler, coğrafi verileri saklamak ve işlemek için kullanılır. Örneğin, bir noktanın coğrafi koordinatlarını saklamak için POINT veri tipi kullanılabilir.
DATE
DATE veri tipi, MySQL'de tarih ve zaman verileri için kullanılan bir veri tipidir. Bu veri tipi, yıl, ay ve gün bilgilerini içeren tarihleri tutabilir. Veri tipi, YYYY-MM-DD formatında kullanılır. YYYY, yılı temsil ederken, MM, ayı ve DD de günü temsil eder.
Bu veri tipi, sınırlamalar nedeniyle bazen birçok kullanıcı için yararlı olmayabilir. Örneğin, bu veri tipi yalnızca 1000 yıl tarihi saklayabilir. Ayrıca, saat bilgisi tutmaz ve dakika, saniye, milisaniye gibi zaman dilimlerini desteklemez.
DATE veri tipi, genellikle takvim uygulamaları gibi uygulamalarda kullanılır. Bu veri tipi ile tarih aralıklarını karşılaştırmak, günlük raporlar gibi işlemler yapmak mümkündür. DATE veri tipi, zaman bilgisi gerekmeyen işlemler için idealdir.
ENUM
MySQL veri tabanlarında kullanılan ENUM veri tipi, belirtilen bir listedeki değerlerin kaydedilmesini sağlar. Bu veri tipinin kullanımı, yalnızca sınırlı bir sayıda seçenek olduğunda uygun olur. Örneğin, bir kullanıcı kaydolurken cinsiyeti seçmesi gerektiğinde ENUM veri tipi kullanılabilir.
ENUM veri tipi, veri tabanı yöneticisi tarafından belirli bir değer listesiyle oluşturulur. Bu değerler için bir etiket atanır ve her biri veri tabanına kaydedilir. Bu sayede veri tabanının boyutu küçülmüş olur ve sadece belirli değerlerin seçilebileceği bir alan oluşturulur.
ENUM veri tipinin kullanımı, veri tabanı yöneticisinin yapabileceği bir ayarı içerir. Bu seçenekler 'SET' seçeneği, veri tabanı yöneticisinin birkaç özelliği belirleyebileceği bir ayar seçeneğidir. Bu ayar uygulandığında, her bir özelliği seçmek için birden fazla seçenek belirlenir.
ENUM veri tipi, özellikle bir kullanıcının seçenekleri listesindeki bir öğeyi yanlış seçip hata yapma riski varsa tercih edilir. Bu durumda, ENUM, kullanıcının sadece belirli bir listeye erişebilmesini sağlar, böylece yanlış seçenek seçmesi önlenir.
MySQL veri tabanında toplama işlemleri oldukça önemlidir. Bu sayede verilerinizi analiz edebilir, gruplayabilir ve düzenleyebilirsiniz. İşte MySQL'de toplama işlemleri ve fonksiyonları hakkında bilmeniz gerekenler:
SUM fonksiyonu, belirtilen sütundaki tüm değerlerin toplanmasını sağlar. Örneğin, SUM(degerler)
komutu kullanarak belirtilen sütunun değerlerinin toplamını alabilirsiniz. Ayrıca, WHERE
koşulları ekleyerek daraltabilirsiniz.
AVG fonksiyonu, belirli bir sütundaki değerlerin ortalamasını hesaplar. AVG(degerler)
komutunu kullanarak belirli bir sütunun değerlerinin ortalamasını alabilirsiniz. Bu fonksiyon ayrıca WHERE
koşullarıyla beraber kullanılabilir.
MAX fonksiyonu, belirtilen sütundaki en yüksek değeri bulmanıza imkan tanır. Aynı şekilde, MIN fonksiyonu en düşük değeri bulmanıza olanak sağlar. MAX(degerler)
ve MIN(degerler)
komutlarını kullanarak işlemleri gerçekleştirebilirsiniz. Yine, bunlar da WHERE
koşulları ile daraltılabilir.
MySQL'de toplama işlemleri, herhangi bir veri tabanı analizi için oldukça önemli bir rol oynamaktadır. Bu fonksiyonları kullanarak MySQL'deki verilerinizin doğru şekilde inceleneceğinden emin olabilirsiniz.
SUM
SUM fonksiyonu, MySQL'de toplama işlemlerinde kullanılan bir fonksiyondur. Bu fonksiyon, belirtilen kolonda bulunan tüm değerleri toplayarak toplam değeri döndürür. Bu nedenle, SUM fonksiyonu yalnızca sayısal veriler için kullanılabilir.
SUM fonksiyonu kullanımı genellikle şu şekildedir:
Örnek Sorgu | Sonuç |
---|---|
SELECT SUM(miktar) FROM siparisler; | Toplam miktarın bulunduğu bir sütun getirir. |
Bu sorgu, siparişler tablosundaki miktar sütunundaki tüm değerleri toplayacak ve toplam değerini veri kümesinde döndürecektir. SUM fonksiyonu, işlemi hızlandırmak için GROUP BY komutu ile birlikte kullanılabilir.
SUM fonksiyonu, aynı zamanda NULL değerlerini dikkate alır. Bu nedenle bir kolonda NULL değerler varsa, SUM fonksiyonu sonucu da NULL olarak döndürür. Ancak, COALESCE fonksiyonu kullanarak bu sorunu çözmek mümkündür. COALESCE, bir NULL değerini belirtilen bir değerle değiştirir.
Örneğin:
Örnek Sorgu | Sonuç |
---|---|
SELECT SUM(COALESCE(miktar,0)) FROM siparisler; | Toplam miktar sütunundaki tüm değerleri toplayacak veya miktar sütununda NULL değer varsa, onun yerine 0 değerini alacaktır. |
Peki ya toplanacak sütunlar birden fazla ise? SUM fonksiyonunu kullanarak birkaç sütunu toplamak mümkündür. Sadece birden fazla sütun adını virgülle ayırmak yeterlidir:
Örnek Sorgu | Sonuç |
---|---|
SELECT SUM(miktar1+miktar2) FROM siparisler; | miktar1 ve miktar2 sütunlarındaki tüm değerleri toplayacak. |
AVG
MySQL'de toplama işlemleri yaparken, ortalamaları bulmak ortalama yoluyla(average) sağlanır. AVG fonksiyonu, bir sütundaki değerlerin ortalamasını hesaplamakta kullanılır. Sütundaki her öğenin sayısal olması gerektiğini unutmamak önemlidir.
AVG fonksiyonu için temel sözdizimi şöyledir:
AVG(Sütun_Adı) |
---|
FROM Tablo_Adı |
Burada Sütun_Adı, ortalama değerleri hesaplamak için kullanılan sütun adını ifade eder. FROM Tablo_Adı ise, ortalama değerleri hesaplamak için kullanacağınız tablonun adını içermelidir.
Örnek olarak, aşağıdaki tabloda "Maaş" sütununun değerlerinin ortalamasını bulmak için AVG fonksiyonu kullanabilirsiniz:
Adı | Maaş |
---|---|
Ahmet | 7000 |
Mehmet | 8000 |
Ayşe | 6500 |
Ali | 9000 |
Bu örnekte, AVG fonksiyonunu kullanarak "Maaş" sütununun ortalamasını bulabilirsiniz:
- AVG(Maaş) FROM Çalışanlar
Bu sorgu, "Maaş" sütununun ortalamasını verir. Yani (7000+8000+6500+9000)/4 hesaplamasını gerçekleştirir. Sonuç olarak, ortalama maaş 7500'dür.
AVG fonksiyonu bir diğer örnek olarak, bir film veritabanındaki film uzunluklarının ortalamasını bulmak için de kullanılabilir. "Uzunluk" sütunu veritabanında "Filmler" tablosunda bulunabilir ve aşağıdaki sorgu kullanılabilir:
- AVG(Uzunluk) FROM Filmler
Bu örnek, film uzunluklarının ortalamasını hesaplar ve bu şekilde filmler hakkında bir fikir edinmenizi sağlar.
MAX ve MIN
MySQL'de işlem yaparken en yüksek ve en düşük değerleri bulmak oldukça önemlidir. Bu işlem için kullanabileceğiniz en yaygın fonksiyonlar MAX ve MIN olarak bilinir.
MAX fonksiyonu, bir sütunda yer alan değerler arasından en büyük olanını bulmak için kullanılır. Bununla birlikte, MIN fonksiyonu bir sütunda yer alan değerler arasından en küçük olanını bulmak için kullanılır.
Örneğin, bir mağazanın stok takibini yaparken MAX fonksiyonunu kullanabilirsiniz. Böylece, mağazada bulunan en yüksek adedi bulabilirsiniz. Örneğin, "SELECT MAX(adet) FROM urunler" gibi bir sorgu ile "urunler" tablosundaki en yüksek adedi bulabilirsiniz.
Benzer şekilde, MIN fonksiyonunu kullanarak da en düşük adedi bulabilirsiniz. Örneğin, "SELECT MIN(adet) FROM urunler" sorgusu ile "urunler" tablosundaki en düşük adedi bulabilirsiniz.
Bir diğer kullanım örneği ise, müşteri siparişlerinde en yüksek ve en düşük fiyatları bulmak için MAX ve MIN fonksiyonlarını kullanmaktır. Örneğin, "SELECT MAX(fiyat) FROM siparisler" sorgusu ile müşterilerinizin yaptığı en yüksek fiyatlı siparişi tespit edebilirsiniz. Benzer şekilde, "SELECT MIN(fiyat) FROM siparisler" sorgusu ile en düşük fiyatlı siparişi tespit edebilirsiniz.
Özetle, MAX ve MIN fonksiyonları, bir veritabanında bulunan en yüksek ve en düşük değerleri bulmak için kullanışlıdır. Bu fonksiyonlar, hem işletmeler hem de bireyler için önemli bir araçtır ve verilerin analizinde oldukça faydalıdır.