SQL temelleri (MySQL)
Tablolar, sorgular, birleştirmeler ve kullanıcı yetkileri.
Seviye 101 · 21 ders · 18 pratik lab
Dersler
Başlangıç
- Sunucu ve istemci: mysql komut satırı: Veritabanı sunucusu ile ona bağlanan istemcinin farkını anlar, mysql komut satırıyla sunucuya bağlanmayı öğrenirsin.
- MySQL kurulumu ve temel yapılandırma (my.cnf): MySQL sunucusunu kurup başlatmayı, yapılandırma dosyasını okumayı ve hangi ağ adresini dinlediğini ayarlamayı öğrenirsin.
- MySQL'de veritabanları: oluşturmak, seçmek, listelemek, silmek: Kendi lab sunucunda MySQL'de veritabanı oluşturmayı, listelemeyi, seçmeyi ve güvenle silmeyi öğrenirsin.
- MySQL sistem veritabanları ve information_schema: MySQL’in kendi bilgisini tuttuğu sistem veritabanlarını gezip tabloları, sütunları ve kullanıcıları sorgulayarak envanter çıkarabileceksin.
- MySQL'de tablolar ve veri türleri: MySQL'de tablo oluşturmayı ve her sütun için sayı, metin, tarih gibi uygun veri türünü seçmeyi öğrenirsin.
- MySQL'de kısıtlar ve anahtarlar: MySQL'de kısıtların ve anahtarların bozuk ya da tekrar eden veriyi nasıl engellediğini ve kayıtları nasıl tekil kıldığını anlarsın.
- MySQL: ALTER TABLE, DROP ve TRUNCATE: Var olan bir tabloya sütun eklemeyi, sütun türünü değiştirmeyi ve tabloyu silmekle boşaltmanın farkını bilerek yapabileceksin.
- Kısa görev: küçük bir dükkânın tablolarını kur
Sorgular
- MySQL'de veri eklemek, güncellemek, silmek: MySQL'de tabloya kayıt eklemeyi, değiştirmeyi ve silmeyi, yanlışlıkla tüm kayıtları etkilememek için koşul yazmayı öğrenirsin.
- MySQL: SELECT ve WHERE: MySQL'de SELECT ile tablodan veri okuyup WHERE ile yalnızca istediğin kayıtları seçmeyi öğrenirsin.
- MySQL: LIKE, sıralama ve sınırlama: MySQL'de metinde kalıp aramayı, sonuçları sıralamayı ve kaç kayıt döneceğini sınırlamayı öğrenirsin.
- MySQL: NULL, DISTINCT ve CASE: Boş değerlerle (NULL) doğru karşılaştırma yapmayı, tekrarlı satırları ayıklamayı ve koşula göre etiket üretmeyi öğrenirsin.
- MySQL metin, sayı ve tarih fonksiyonları: Metni kırpıp birleştirmeyi, tarihler arasındaki farkı hesaplamayı ve sayıları yuvarlamayı yerleşik fonksiyonlarla yapabileceksin.
- MySQL'de tablolar arası ilişkiler: MySQL'de birden çok tabloyu anahtarlarla ilişkilendirmeyi ve bilgiyi neden tekrar etmeden ayrı tablolarda tuttuğumuzu anlarsın.
- MySQL'de birleştirmeler: MySQL'de birleştirmelerle ilişkili tabloların verisini tek sonuçta toplamayı ve farklı birleştirme türlerinin neyi getirdiğini görürsün.
- MySQL: Toplamlar, GROUP BY ve HAVING: MySQL'de kayıtları saymayı, toplamayı ve gruplayarak özetlemeyi, gruplara koşul koymayı öğrenirsin.
- Kısa görev: satış verisine beş soru sor
Yönetim
- MySQL'de kullanıcılar ve en az yetki: MySQL'de veritabanı kullanıcıları oluşturup her birine yalnızca işi için gereken yetkiyi vermeyi, yetkileri kontrol etmeyi öğrenirsin.
- mysql_secure_installation ile ilk sertleştirme: Yeni kurulmuş MySQL’deki boş parolayı, anonim hesabı ve gereksiz test veritabanını kapatan ilk güvenlik adımlarını uygulayabileceksin.
- mysqldump ile yedek ve geri yükleme: mysqldump ile veritabanının yedeğini alıp başka bir yere geri yüklemeyi ve yedeğin işe yaradığını sınamayı öğrenirsin.
- Bitirme görevi: MySQL müşteri veritabanını kur ve yetkilendir: Kurgusal bir şirket için MySQL'de müşteri veritabanını kurar, örnek kayıt ekler ve her kullanıcıya yalnızca gereken yetkiyi verirsin.
Pratik lablar
- Kırtasiye için ilk tabloları kur: Papatya Kırtasiye için ürün ve kategori tablolarını uygun veri türleriyle oluştur.
- Yanlış veri türlerini düzelt: Fiyatları metin, tarihleri VARCHAR tutan bir tabloyu veri kaybetmeden doğru türlere dönüştür.
- Kısıtları eksik şemayı sağlamlaştır: Negatif stok ve sahipsiz siparişlere izin veren bir şemaya NOT NULL, UNIQUE, CHECK ve yabancı anahtar ekle.
- Yeni ürünleri toplu ekle: Lale Market'in yeni sezon ürünlerini tek bir INSERT ile ekle ve sayıyı doğrula.
- Yanlış zammı geri al: Bir kategoriye yanlışlıkla iki kez uygulanan yüzde 10 zammı doğru bir UPDATE ile düzelt.
- WHERE'siz silmeyi önle: safe updates ayarını aç, iptal edilen siparişleri güvenle sil ve kazara tüm tabloyu silmeyi engelle.
- Stokta azalan ürünleri listele: Stoğu 10'un altına düşen ürünleri fiyatına göre sıralayıp ilk 20'sini getir.
- Geç teslim edilen siparişleri hesapla: Mavikuş Kargo'nun gönderilerinde söz verilen ve gerçek teslim tarihleri arasındaki gün farkını hesapla.
- Müşterileri harcamaya göre etiketle: CASE ile müşterileri bronz, gümüş ve altın olarak sınıflandır ve her sınıftaki kişi sayısını çıkar.
- Siparişleri müşteri adıyla göster: Sipariş ve müşteri tablolarını birleştirerek son 30 günün siparişlerini müşteri adıyla listele.
- Şehir başına ciroyu hesapla: Ciroyu şehre göre grupla ve yalnızca 50 binin üzerindeki şehirleri HAVING ile göster.
- Şişen toplamın nedenini bul: Birleştirmeden sonra iki katına çıkan ciro toplamını bul, nedenini açıkla ve sorguyu düzelt.
- Rapor kullanıcısına salt okuma ver: Muhasebe ekibi için yalnızca SELECT yetkisi olan bir kullanıcı oluştur ve yazamadığını dene.
- Fazla yetkili uygulama hesabını kıs: ALL PRIVILEGES verilmiş bir uygulama hesabını yalnızca gereken tablolarla sınırla.
- Uzaktan root girişini kapat: Her yerden root girişine izin veren bir sunucuyu sertleştir, anonim hesapları sil ve test veritabanını kaldır.
- Bir veritabanını dosyaya yedekle: Kırtasiye veritabanını mysqldump ile al ve dosyada tablo tanımlarını bul.
- Yedeği yeni adla geri yükle: Dün alınan yedeği canlı veritabanına dokunmadan test adlı yeni bir veritabanına yükle.
- Yedekten tek bir tabloyu kurtar: Tam veritabanı yedeğinden yalnızca silinen müşteri tablosunu çıkarıp geri yükle.
Kurs hakkında
Tablolar, sorgular, birleştirmeler ve kullanıcı yetkileri.
Ne öğreneceksin
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.