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.