# önder online
Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri Yapay zekâ ve otomasyonun güvenliğe etkileri Microsoft 365 ve Active Directory güvenlik rehberleri Yazılım geliştirmede güvenlik odaklı yaklaşımlar Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri

Menu

SQL Notları: UPDATE ve DELETE İşlemleri

SQL Notları: UPDATE ve DELETE İşlemleri

MySQL'de `UPDATE` ve `DELETE` komutlarının farklı kullanım senaryolarını ve ipuçlarını daha iyi anlayabilirsiniz.

## MySQL'de UPDATE ve DELETE İşlemleri

MySQL'de `UPDATE` ve `DELETE` komutları, veritabanındaki mevcut verileri güncellemek ve silmek için kullanılır. Bu bölümde, bu komutların farklı kullanım senaryolarını ve ipuçlarını inceleyeceğiz.

### 1. **Temel UPDATE İşlemi**

`UPDATE` komutu, belirli bir tablodaki satırları güncellemek için kullanılır. `WHERE` koşulu ile hangi satırların güncelleneceği belirlenir.

**Örnek Kullanım:**
```sql
UPDATE customers 
SET email = 'luke_smith@email.com' 
WHERE id = 1;
```

Bu sorgu, `customers` tablosunda `id` değeri 1 olan satırın `email` sütununu günceller.

**Tüm Satırları Güncelleme:**
```sql
UPDATE customers 
SET lastname = 'Smith';
```

Bu sorgu, `customers` tablosundaki tüm satırların `lastname` sütununu `Smith` olarak günceller. Bu tür sorgular dikkatli kullanılmalıdır çünkü tüm satırları etkiler.

### 2. **JOIN ile UPDATE İşlemi**

`UPDATE` komutu, `JOIN` kullanılarak birden fazla tablodaki verileri güncellemek için de kullanılabilir. Bu, özellikle ilişkili tablolardaki verileri güncellerken kullanışlıdır.

**Örnek Kullanım:**
```sql
UPDATE questions_mysql q
JOIN iwtQuestions i ON i.qId = q.qId
SET q.closeVotes = i.closeVotes,
   q.votes = i.votes,
   q.answers = i.answers,
   q.views = i.views;
```

Bu sorgu, `questions_mysql` tablosundaki verileri `iwtQuestions` tablosundaki verilere göre günceller. `qId` sütunu, iki tablo arasındaki ilişkiyi sağlar.

### 3. **Bulk UPDATE (Toplu Güncelleme)**

Birden fazla satırı farklı değerlerle güncellemek için `CASE` ifadesi kullanılabilir. Bu, tek bir sorgu ile birden fazla satırı güncellemeyi sağlar.

**Örnek Kullanım:**
```sql
UPDATE people
SET name = 
   CASE id
       WHEN 1 THEN 'Karl'
       WHEN 2 THEN 'Tom'
       WHEN 3 THEN 'Mary'
   END
WHERE id IN (1, 2, 3);
```

Bu sorgu, `people` tablosundaki `id` değerlerine göre `name` sütununu günceller.

### 4. **ORDER BY ve LIMIT ile UPDATE**

`UPDATE` komutu, `ORDER BY` ve `LIMIT` ifadeleri ile birlikte kullanılarak belirli bir sırayla ve sınırlı sayıda satırı güncellemeyi sağlar.

**Örnek Kullanım:**
```sql
UPDATE employees 
SET isC>ORDER BY joiningDate 
LIMIT 10;
```

Bu sorgu, `employees` tablosundaki en eski 10 çalışanın `isConfirmed` sütununu günceller.

### 5. **Temel DELETE İşlemi**

`DELETE` komutu, belirli bir tablodan satır silmek için kullanılır. `WHERE` koşulu ile hangi satırların silineceği belirlenir.

**Örnek Kullanım:**
```sql
DELETE FROM customers 
WHERE id = 1;
```

Bu sorgu, `customers` tablosunda `id` değeri 1 olan satırı siler.

**Tüm Satırları Silme:**
```sql
DELETE FROM customers;
```

Bu sorgu, `customers` tablosundaki tüm satırları siler. Bu tür sorgular dikkatli kullanılmalıdır çünkü tüm verileri siler.

### 6. **JOIN ile DELETE İşlemi**

`DELETE` komutu, `JOIN` kullanılarak birden fazla tablodan satır silmek için de kullanılabilir. Bu, özellikle ilişkili tablolardaki verileri silerken kullanışlıdır.

**Örnek Kullanım:**
```sql
DELETE p1, p2
FROM people p1
JOIN pets p2 ON p2.ownerId = p1.id
WHERE p1.name = 'Paul';
```

Bu sorgu, `people` tablosundan `name` sütunu `Paul` olan satırı ve `pets` tablosundan bu kişiye ait olan tüm evcil hayvan kayıtlarını siler.

### 7. **TRUNCATE ile Tüm Verileri Silme**

`TRUNCATE` komutu, bir tablodaki tüm verileri siler ve `AUTO_INCREMENT` değerini sıfırlar. Bu, büyük veri setlerinde `DELETE` komutundan daha hızlıdır.

**Örnek Kullanım:**
```sql
TRUNCATE TABLE customers;
```

Bu sorgu, `customers` tablosundaki tüm verileri siler ve `AUTO_INCREMENT` değerini sıfırlar.

---

Bu bilgilerle, MySQL'de `UPDATE` ve `DELETE` komutlarının farklı kullanım senaryolarını ve ipuçlarını daha iyi anlayabilirsiniz. 

---