
Mysql de herhangi bir kaydı silmek için delete ifadesini kullanıyoruz
# cmd
Yine ilk başta mysql e bağlanıyorum
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.1.22-community-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
daha sonra use ile veritbanını değiştiriyorum
mysql> use telefon;
Database changed
Daha sonra show tables dediğimde mevcut tabloları görüyorum.
mysql> show tables;
+-------------------+
| Tables_in_telefon |
+-------------------+
| telefonlar |
+-------------------+
1 row in set (0.00 sec)
select * from telefonlar diyerek
mysql> select * from telefonlar;
+----+----------+------------+--------+
| id | isim | soyisim | numara |
+----+----------+------------+--------+
| 1 | Süleyman | Demirkeser | 0322 |
| 2 | Süleyman | NULL | NULL |
| 3 | Süleyman | Demirkeser | 0444 |
| 7 | Ahmet | Danaci | 0444 |
+----+----------+------------+--------+
4 row in set (0.00 sec)
Tablodaki tüm kayıtlara erişebiliyorum.
İşte herhangi bir kaydı silmek istediğimde delete from tablo daha sonra where ile koşul veriyorum
delete from telefonlar where herhangi bir alan eşit değeri veya herhangi alanlar eşit değerleri gibi burda verdiğimiz kontrol yapısıyla hangi kayıtları silmek istediğimi söyleyebiliriz.
Eğerki where koşulu vermeden delete from tablo şeklinde ifadeyi kullanırsak tabloyu tümden boşaltmış oluruz. Ben id si 7 olan kaydın silinmesini istiyorum
mysql> delete from telefonlar where id = 7;
Query OK, 1rows affected (0.00 sec)
Çalıştırdım. Çalıştırdığımda 1 row effected diyerek ilgili kaydın silindiğini görüyorum.
mysql> select * from telefonlar;
+----+----------+------------+--------+
| id | isim | soyisim | numara |
+----+----------+------------+--------+
| 1 | Süleyman | Demirkeser | 0322 |
| 2 | Süleyman | NULL | NULL |
| 3 | Süleyman | Demirkeser | 0444 |
+----+----------+------------+--------+
3 row in set (0.00 sec)
İşte farklı olarak id>2 dediğimde mesela direk üçüncü kayıt silinmiş olur.
veya id büyük eşit iki dediğimde hem iki hem üçüncü kayıt silinir. Aynı şekilde isim soyisim numara gibi değerleride kriter olarak vermek suretiyle silme işlemini gerçekleştirebilirim.
Kullanım olarak delete from tablo adı where diyip ifade kullanmamız yeterlidir.