Merhaba,
Eğer siz de MySQL ‘de yeni iseniz aşağıdaki paylaştığımız kodları ve ne işe yaradıklarını öğrenmeniz iyi bir başlangıç olacaktır.
MySQL Nedir?
Her zaman olduğu gibi MySQL kavramını da bir örnekle açıklayalım. Bir blogunuz/web siteniz var diyelim, ziyaretçilerinize içerikler ve makaleler paylaşıyorsunuz. İşte bu oluşturduğunuz içerikler web sitenizin veritabanında tutulur. Veritabanı o kadar önemli birşey ki özellikle yazılım dünyasında ister web programcısı olun, ister masaüstü programcısı olun ve isterseniz IOS/Android/Windows Phone gibi mobil sistemlere uygulama geliştirin. Belki bu programlama alanlarının basit ürünlerinde veritabanına ihtiyacınız olmaz belki ancak ilerleyen seviyelerde göreceksiniz ki mobil yazılımcısı da web yazılımcısı da masaüstü yazılımcısı da minimum işini görecek kadar veritabanı yönetim sistemi ve SQL bilmek zorunda.
Şimdi makalemizin şu aşamasında “SQL” ve “MySQL” terimlerinden bahsedeceğiz. Ne tür yazılımcı olursanız olun veritabanı bilmek zorundasınız demiştik. Çünkü veritabanı programın işleyeceği verilerin/dataların tutulduğu bir alandır. Örneğin mobil bir savaş oyunu geliştirdiniz. Oyunu oynayan kişiler her yok ettikleri düşman için puan ya da skor kazanacak. Bu skor veya puanlar mobil uygulamanızın veritabanında saklanır. Oyun işleyişine göre, oyuncu dilerse bu puanları silebilir veya silmeyebilir.
Peki Veritabanımda Nasıl İşlem Yapabilirim?
Yine mobil savaş oyunu örneğimizle devam edecek olursak, kullanıcının aldığı puanları veritabanından silmesi için o veritabanına SQL programlama dili ile emir vermesi gerekli. Yani SQL dediğimiz kavram da bir programlama dilidir fakat sadece veritabanları üzerinde çalışır. Sadece SQL kullanarak mobil bir uygulama yapamazsınız veya web programlama yapamazsınız.
Şimdi oyuncunun puanlarını silmek için SQL komutlarını veritabanına uygulaması gerekir demiştik fakat bu oyunu oynayacak kişilerin illa ki SQL bilmesi zorunlu mu? Elbette bu durum saçma olurdu. Fakat puanları sil butonu koyarsanız ve oyuncu ona tıklarsa ve o butonun altındaki silmeye yarayan SQL komutları çalışırsa problem çözülür. Buradan çıkacak sonuç bellidir ki siz sadece Java bilerek bir Android oyun, C#.Net bilerek de masaüstü program yapamazsınız. Yaparsınız aslında ama sınırlı bir program olur. Gelişmiş her program veritabanı işlemi az da olsa yapar.
Peki SQL ‘i anladık. MySQL nedir? MySQL veritabanı yönetim sistemidir. Genellikle PHP web sitelerin veritabanlarının yönetimi için kullanılan bir yazılımdır. O zaman web sitesi örneği üzerinden devam edelim. Sitenizde yayınladığınız her yazı/sayfa/içerik veritabanınıza eklenir ve burada barındırılır. Kullanıcı sitenize gelip bir yazıya bakmak istediğinde karşısına gelen içeriği veritabanınızdan çekmiş olur. MySQL ise veritabanı oluşturma, düzenleme, SQL kodları uygulama, tablolar oluşturma gibi veritabanı işlemlerini tek bir platform üzerinde toplar. Bu tarz yazılımlara da veritabanı yönetim sistemi denir.
Sadece MySQL yok elbette. Microsoft ‘un veritabanı yönetim sistemi MsSQL ‘de çok yaygın kullanılmakta. Asp.Net, C#.Net ve diğer .NET uygulamaları için tam bir uyumluluk abidesidir ki bu ürünlerin hepsi Microsoft ‘a ait. Bu sektörde yeni olanların belki sadece ismini duyduğu fakat hiç kullanmadığı bir veritabanı yönetim sistemi de Oracle ‘dır. Oracle, veritabanı yönetim sistemleri arasında maliyet bakımından en pahalı ve fonksiyonellik bakımından en gelişmişidir. Yani veritabanı yönetim sistemlerinin 1 numarasıdır. Bugün birçok global kuruluş, bankalar, teknoloji firmaları ve aklınıza gelebilecek tüm devlet sistemlerinin çoğu Oracle kullanmaktadır.
Kullanımı bu kadar yaygındır fakat küçük/orta ölçekli kuruluşlar maliyetinden dolayı pek tercih etmez. Genelde MySQL veya MsSQL tercih ederler ki bu yüzden Oracle ‘ın kullanım oranı bu veritabanı yönetim sistemlerine göre oldukça düşüktür.
Bilmenizin önemli olduğu asıl bir konu da SQL dilinin tüm bu veritabanı yönetim sistemlerinde aynı olduğudur. Yani siz MySQL veritabanınızda bulunan bir tabloyu silmek için de aynı komutu kullanırsınız, Oracle ‘da bulunan bir komutu silmek için de aynı komutu kullanırsınız. Fakat elbette bazı komutlar istisnadır. Yine de SQL ‘i iyi bilen birinin bu farklılıkları aşması zor değil.
Temel SQL Komutları
Şimdi giriş seviyesindeki bazı SQL komutlarını, ne işe yaradıklarını sizlere açıklayalım.
CREATE DATABASE: Yeni bir veritabanı üretir |
CREATE TABLE: Yeni bir tablo üretir |
INSERT INTO: Veritabanına yeni kayıt ekler |
SELECT FROM: Veritabanından bilgi okumaya yarar |
WHERE: Yapılan işlemin etkileyeceği sütunları belirtir |
ORDER BY: Seçim işleminde sıralama veya tersten sıralama yapar |
UPDATE SET: Veritabanında değişiklik yapar |
DELETE FROM: Bilgi siler |
SHOW TABLE: Tabloların listesini verir |
DESCRIBE: Tablo sütunlarının adını yazar |
DROP DATABASE: Veritabanını komple siler |
DROP TABLE: Tabloyu komple siler |
TRUNCATE TABLE: Tablodaki bilgileri siler, Tablo ayarlarını sıfırlar |
ALTER DATABASE: Veri tabanının öz niteliklerini değiştirir. |
ALTER TABLE: Tabloya alan ekleme, tablodaki alanı düzenleme ve silme işlemlerini yapar. |
ALTER VIEW: Görünüm değiştirmede kullanılır. |
CREATE DATABASE: Yeni bir veritabanı oluşturur. |
CREATE INDEX: Yeni bir index oluşturur. |
CREATE TABLE: Yeni bir tablo oluşturur. |
DELETE: Belirtilen tablodan yeri WHERE deyimi ile saptanan satırı siler. |
DROP DATABASE: Belirtilen veritabanını siler. |
DROP INDEX: Belirtilen indexi siler. |
DROP TABLE: Belirtilen tabloyu siler. |
INSERT: Tabloya Yeni bir satır ekler. |
RENAME TABLE: Var olan tablonun adını değiştirir. |
SELECT: Veri tabanındaki tablonun tamamını yada WHERE ile belirtilen alanı gösterir. |
İşte bu SQL komutlarını elbette parametleri ile birlikte uygulayarak veritabanında işlemler yapabilir veya mobil savaş oyunu örneğinde verdiğimiz gibi Java/PHP/C#.NET gibi yazılım dilleri kullanarak son kullanıcıya (yazılımı kullanacak kişiye) 1 butona tıklaması aracılığıyla bu tarz SQL komutlarını yazdırabilirsiniz.