INSERT: veri eklemek
INSERT INTO departments (dept_id, name, city)
VALUES (8, 'Lojistik', 'Kocaeli');
INSERT INTO departments (dept_id, name, city)
VALUES (9, 'Müşteri Hizmetleri', 'Ankara'),
(10, 'Ar-Ge', 'İzmir');
SELECT * FROM departments;
Sütun listesini her zaman yaz; tabloya ileride sütun eklenirse sorgun bozulmaz. Sorgu sonucundan da ekleyebilirsin: INSERT INTO t (a, b) SELECT x, y FROM .... Mesajlar bölümünde kaç satırın etkilendiğini görürsün.
UPDATE: güncellemek
UPDATE products SET price = ROUND(price * 1.10, 0), stock = stock - 1 WHERE category = 'Kitap'; SELECT name, price, stock FROM products WHERE category = 'Kitap';
DELETE: silmek
DELETE FROM orders WHERE status = 'cancelled' AND order_date < '2023-01-01'; SELECT COUNT(*) AS kalan_iptal FROM orders WHERE status = 'cancelled';
WHERE'siz UPDATE / DELETE
UPDATE employees SET salary = 0; tüm çalışanların maaşını sıfırlar. Gerçek sistemlerde değiştirmeden önce aynı WHERE ile bir SELECT çalıştırıp etkilenecek satırları gör, işlemi transaction içinde yap.Bu uygulamadaDers alıştırmaları her denemede veritabanının temiz bir kopyası üzerinde çalışır. Rahatça silip güncelleyebilirsin.
Derinleş: güvenli değişiklik alışkanlıkları
- Önce aynı WHERE ile SELECT çalıştır, kaç satırın etkileneceğini gör.
- Değişikliği bir işlem (transaction) içinde yap; sonucu kontrol edip COMMIT veya ROLLBACK de.
- Toplu silmede önce yedek tablo oluştur:
CREATE TABLE yedek AS SELECT .... - UPDATE'te başka bir tablodan değer alırken birden çok eşleşme olmadığından emin ol.
SELECT COUNT(*) AS etkilenecek FROM lk_orders WHERE status = 'teslim' AND tip = 0 AND placed_at >= '2024-12-01';