Ünite 5 — Veri ve Tablo Yönetimi
12 çoktan seçmeli soru — süre sınırı yok.
INSERT
1. Tek bir INSERT ifadesiyle birden fazla satır eklemek için ne yapılır?
UPDATE
2. UPDATE shipments SET status = 'İptal'; (WHERE'siz) çalıştırırsan ne olur?
DELETE
3. DELETE FROM tablo WHERE koşul; ile DROP TABLE tablo; arasındaki fark nedir?
CREATE TABLE ve Kısıtlar
4. CHECK (score BETWEEN 1 AND 5) kısıtı ne işe yarar?
CREATE TABLE ve Kısıtlar
5. UNIQUE ile PRIMARY KEY arasındaki temel fark nedir?
ALTER ve DROP
6. ALTER TABLE couriers ADD COLUMN phone TEXT; çalıştırdığında var olan satırlarda phone ne olur?
ALTER ve DROP
7. DROP TABLE çalıştırmadan önce neden dikkatli olunmalıdır?
VIEW ve INDEX
8. Bir VIEW, verideki değişiklikleri anlık olarak yansıtır mı?
VIEW ve INDEX
9. Her sütuna INDEX eklemek neden iyi bir fikir değildir?
SQL Injection'a Giriş
10. SQL injection saldırısının temel nedeni nedir?
SQL Injection'a Giriş
11. Parametreli sorgular (prepared statements) SQL injection'ı nasıl önler?
DELETE
12. SQLite'ta TRUNCATE TABLE komutu var mıdır?
1. Tek bir INSERT ifadesiyle birden fazla satır eklemek için ne yapılır?
- AMümkün değildir, her satır için ayrı INSERT gerekir
- BVALUES'tan sonra birden fazla parantez grubu virgülle ayrılır
- CINSERT MULTIPLE anahtar kelimesi kullanılır
- DWHERE'e birden fazla değer yazılır
2. UPDATE shipments SET status = 'İptal'; (WHERE'siz) çalıştırırsan ne olur?
- AHiçbir şey olmaz
- BTablodaki TÜM satırların status'ü 'İptal' olur
- CSadece ilk satır güncellenir
- DSadece zaten 'İptal' olan satırlar etkilenir
3. DELETE FROM tablo WHERE koşul; ile DROP TABLE tablo; arasındaki fark nedir?
- AFark yoktur
- BDELETE sadece koşulu sağlayan satırları siler (tablo kalır); DROP TABLE tüm tabloyu yapısıyla siler
- CDROP TABLE sadece verileri siler, tabloyu korur
- DDELETE WHERE olmadan hiç çalışmaz
4. CHECK (score BETWEEN 1 AND 5) kısıtı ne işe yarar?
- Ascore sütununu otomatik 1 yapar
- Bscore sütununun sadece 1-5 arasında değer almasını zorunlu kılar
- Cscore sütununu siler
- DHiçbir işlevi yoktur, sadece dokümantasyon amaçlıdır
5. UNIQUE ile PRIMARY KEY arasındaki temel fark nedir?
- AFark yoktur
- BBir tabloda birden fazla UNIQUE sütun olabilir ama genelde tek bir PRIMARY KEY olur
- CUNIQUE sadece metin sütunlarında kullanılır
- DPRIMARY KEY NULL'a izin verir, UNIQUE vermez
6. ALTER TABLE couriers ADD COLUMN phone TEXT; çalıştırdığında var olan satırlarda phone ne olur?
- ABoş metin ('')
- BNULL (DEFAULT belirtilmediyse)
- C0
- DSorgu hata verir, var olan satırlar güncellenemez
7. DROP TABLE çalıştırmadan önce neden dikkatli olunmalıdır?
- ABu işlem geri alınamaz — tablo yapısı ve verisiyle kalıcı olarak kaybolur
- BDROP TABLE her zaman hata verir
- CHiçbir özel dikkat gerekmez, tamamen güvenlidir
- DSadece test ortamlarında çalışır
8. Bir VIEW, verideki değişiklikleri anlık olarak yansıtır mı?
- AHayır, oluşturulduğu andaki veriyi donmuş halde saklar
- BEvet — VIEW veri kopyalamaz, sorgulandığında altındaki SELECT yeniden çalışır
- CSadece günde bir kez günceller
- DVIEW'ler hiçbir zaman güncel veri göstermez
9. Her sütuna INDEX eklemek neden iyi bir fikir değildir?
- ASQLite birden fazla index'e izin vermez
- BHer INDEX, INSERT/UPDATE/DELETE işlemlerini yavaşlatır ve disk alanı kaplar
- CINDEX'ler 24 saat sonra otomatik silinir
- DINDEX eklemek SELECT sorgularını yavaşlatır
10. SQL injection saldırısının temel nedeni nedir?
- ASQLite'ın eski bir sürüm olması
- BKullanıcı girdisinin doğrulanmadan doğrudan SQL sorgu metnine birleştirilmesi
- CVeritabanında çok fazla tablo olması
- DINDEX kullanılmaması
11. Parametreli sorgular (prepared statements) SQL injection'ı nasıl önler?
- AKullanıcı girdisini yasaklayarak
- BKullanıcı girdisini her zaman düz veri olarak ele alır, asla SQL kodu olarak yorumlamaz
- CVeritabanını şifreleyerek
- DSadece sayısal girdilere izin vererek
12. SQLite'ta TRUNCATE TABLE komutu var mıdır?
- AEvet, MySQL ile birebir aynı şekilde çalışır
- BHayır — SQLite'ta bu komut yoktur; aynı işi WHERE'siz DELETE FROM tablo; görür
- CEvet ama sadece AUTOINCREMENT tablolarında
- DHayır, SQLite'ta hiçbir veri silinemez