MySQL DELETE Sorgusu: Tablodan Satır Nasıl Silinir?
DELETE Sorgusu nedir?
MySQL Sil komutu, veritabanı tablolarından artık gerekmeyen satırları silmek için kullanılır. Tablodaki tüm satırı siler ve silinen satırların sayısını döndürür. Sil komutu, geçici veya eski verileri veritabanınızdan silmek için kullanışlıdır.
Sil sorgusu MySQL tek bir sorguda bir tablodan birden fazla satırı silebilirsiniz. Bu, bir veritabanı tablosundan çok sayıda satırı kaldırırken avantaj sağlar.
Bir kez Sil satırı MySQL satır silindi, kurtarılamaz. Bu nedenle veritabanından herhangi bir veriyi silmeden önce veritabanı yedeklemeleri yapmanız şiddetle önerilir. Bu, veritabanını geri yüklemenize ve gerektiğinde daha sonra verileri görüntülemenize olanak tanır.
Bir satır nasıl silinir MySQL
Bir satırı silmek için MySQL, DELETE FROM ifadesi kullanılır:
DELETE FROM `table_name` [WHERE condition];
İŞTE
- 'tablo_adı'ndan SİL, şunu söyler MySQL tablodan satırları kaldırmak için sunucu ..
- [WHERE koşulu] isteğe bağlıdır ve DELETE sözdiziminden etkilenen satır sayısını kısıtlayan bir filtre koymak için kullanılır MySQL satır sorgusu.
Eğer WHERE yan tümcesi içinde kullanılmaz MySQL Sorguyu SİL, belirli bir tablodaki tüm satırlar silinecektir.
Örnek MySQL Sorguyu Sil
SQL DELETE deyimi hakkında daha detaylı bir tartışmaya girmeden önce, üzerinde çalışılacak bazı örnek verileri movie tablosuna ekleyelim.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
Yukarıdaki betiğin çalıştırılması, filmler tablosuna üç (3) film ekler. Dersimize devam etmeden önce tüm filmleri tablomuza alalım. Aşağıda gösterilen komut dosyası bunu yapar.
SELECT * FROM `movies`;
Yukarıdaki betiği çalıştırdığımızda aşağıdaki sonuçlar elde edilir.
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Diyelim ki Myflix video kütüphanesi artık “Büyük Diktatör”ü üyelerine kiralamak istemiyor ve veri tabanından kaldırılmasını istiyor. Film kimliği 18, tablodan satırı silmek için aşağıda gösterilen komut dosyasını kullanabiliriz. MySQL örnek.
DELETE FROM `movies` WHERE `movie_id` = 18;
Yukarıdaki betiğin çalıştırılması MySQL çalışma tezgahı Myflix'e karşı, kimliği 18 olan filmi veritabanı tablosundan siler.
Filmler tablosunun mevcut durumunu görelim.
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
NOT:
- 18 kimliğine sahip film sorgu sonuç kümesinde döndürülmedi.
- bir tablonun tek bir sütununu silemezsiniz. Bir satırın tamamını silebilirsiniz.
Diyelim ki silmek istediğimiz filmlerin bir listesi var. WHERE deyimini IN ile birlikte kullanabiliriz.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Yukarıdaki betiğin çalıştırılması, 20 ve 21 kimlikli filmleri filmler tablomuzdan siler.
ÖZET
- Sil komutu MySQL, artık gerekmeyen verileri tablodan kaldırmak için kullanılır.
- “WHERE cümlesi”, DELETE sorgusundan etkilenen satır sayısını sınırlamak için kullanılır MySQL Komut.
- Veriler silindikten sonra kurtarılamaz, bu nedenle verileri silmeden önce yedekleme yapmanız önemle tavsiye edilir.