mysql delete statement delete command syntax
Bu Eğitimde MySQL DELETE İfadesinin Bir Tablodaki Verileri Silmek veya Tüm Tabloyu Silmek ve Kes ve Sil Komutları Arasındaki Farkı Nasıl Kullanılacağı Açıklanmaktadır:
MySQL'de DELETE, bildiğimiz gibi bir Veri İşleme Dili veya DML'dir.
Adından da anlaşılacağı gibi, komut tablodan satırları silmek için kullanılır. Bu komutu kullanarak tek bir işlemde bir veya daha fazla istenmeyen satırı silebiliriz. DELETE komutunu kullanarak bir tablodaki kayıtları silmenin birden çok yolu vardır.
vay oynamak için en iyi sunucular
Bu eğitimde, tüm bunları ayrıntılı olarak basit örneklerle tartışacağız.
Ne öğreneceksin:
- MySQL DELETE Komutu
- TRUNCATE ve DELETE İfadeleri Arasındaki Fark
- Referans Bütünlüğü ve SİLME Üzerindeki Etkisi
- Sıkça Sorulan Sorular ve Cevaplar
- Sonuç
MySQL DELETE Komutu
Devam etmeden önce akılda tutulması gereken önemli bir faktör var. DELETE komutunu kullanarak sildiğimiz herhangi bir satır veya birden çok satır asla geri alınamaz.
Bu nedenle, bir satırın yanlışlıkla silindiği senaryolardan kaçınmak için, DELETE deyimini çalıştırmadan önce tablonun yedeğini almanız önerilir. Daha sonra herhangi bir hata durumunda tabloyu geri yüklemek için bu yedeği kullanabiliriz.
Not: MySQL 8.0 sürümünü kullanıyoruz. Buradan indirebilirsiniz İşte .
MySQL Sözdizimini Silme:
DELETE (LOW_PRIORITY) (QUICK) (IGNORE) FROM tablename(.*) (, tablename(.*)) (WHERE condition) (ORDER BY) (LIMIT row_count) ;
Sözdizimi Açıklaması:
- Sözdizimi 'DELETE FROM' anahtar sözcüğü ile başlar, böylece MySQL Sunucusunu gerçekleştirilecek etkinlik türü hakkında bilgilendirir. Bu zorunlu bir anahtar kelimedir ve ihmal edilemez.
- Daha sonra DELETE işleminin gerçekleştirilmesi gereken tablonun adı gelir. Bu da zorunludur ve ihmal edilemez. Burada bir veya birden fazla tablo adından bahsedebiliriz.
- Ardından, silinecek satırların uygunluğunu kontrol eden herhangi bir koşuldan bahsedebiliriz. Bu isteğe bağlı bir maddedir. Buradaki anahtar kelime NEREDE'dir.
- WHERE yan tümcesinin ardından, satırları belirli bir sırada, bir sütun (lar) üzerinde artan veya azalan şekilde silinmeye zorlayan ORDER BY yan tümcesi gelir. Bu isteğe bağlı bir maddedir.
- LIMIT yan tümcesi ORDER BY yan tümcesini izler. DELETE ifadesinin tablodan kaldırabileceği satır sayısına bir sınır koyar.
DELETE İfadesinde Değiştiriciler
# 1) LOW_PRIORITY:
Bu değiştirici, MySQL Motoruna DELETE ifadesinin yürütülmesini, SİLİNMEYE çalıştığımız tablodan hiçbir bağlantı olmadığı zamana kadar geciktirmesini bildirir.
Bu, o masada gerçekleştirilecek diğer tüm işlemlerde tutarlılığın sağlanmasına yardımcı olur. Bu ayrıca tablo kilitleme sorunlarının önlenmesine de yardımcı olur.
# 2) HIZLI:
Bir satırı sildiğimizde, ilgili dizin de silinir. DELETE deyiminin yürütülmesi sırasında alanı geri kazanmak, işlemci süresini tüketir. QUICK anahtar sözcüğünü kullanırsak, karşılık gelen dizin alanı kullanılmadan kalır ve daha önce silinmiş olan dizin aralığına uyan yeni kayıtlar eklendiğinde kullanılabilir.
Örneğin, Çalışan kimliğinin indeks olduğu bir çalışan tablosu düşünün. Bir çalışan bir organizasyondan ayrıldığında, ilgili kaydı silmemiz gerekir. QUICK deyimini kullanırsak, karşılık gelen dizin alanı kullanılmamış kalacaktır.
Yeni bir çalışan katıldığında, ayrılan kişi ile aynı numara değil, yeni bir çalışan numarası alacaktır. Bu tür örneklerde, QUICK'in kullanılması tavsiye edilmez.
MYSQL DELETE Örneği
Aşağıda MYSQL'de oluşturulmuş örnek bir tablodur.
Şema Adı: Pasifik
Tablo ismi: çalışanlar
Sütun Adları:
empNum; Çalışan sayısı için tam sayı değerlerini tutar.
Soyadı: Çalışanın soyadı için varchar değerlerini tutar.
İsim: Çalışanın adı için varchar değerlerini tutar.
e-posta: Çalışanın e-posta kimliği için varchar değerlerini tutar.
deptNum; Bir çalışanın ait olduğu departman kimliği için varchar tutar.
maaş: Her çalışanın maaşının ondalık değerlerini tutar.
Başlangıç tarihi: Çalışanın katılma tarihi için tarih değerlerini tutar.
Şema Adı: Pasifik
Tablo ismi: staff_history
Sütun Adları:
empNum; Çalışan sayısı için tam sayı değerlerini tutar.
Soyadı: Çalışanın soyadı için varchar değerlerini tutar.
İsim: Çalışanın adı için varchar değerlerini tutar.
e-posta: Çalışanın e-posta kimliği için varchar değerlerini tutar.
deptNum; Bir çalışanın ait olduğu departman kimliği için varchar tutar.
maaş: Her çalışanın maaşının ondalık değerlerini tutar.
Başlangıç tarihi: Çalışanın katılma tarihi için tarih değerlerini tutar.
Şema Adı: Pasifik
Tablo ismi: bölümler
Sütun Adları:
deptNum; Bir kuruluş içindeki departman kimliği için varchar tutar.
Kent: Bölümlerin çalıştığı şehrin adını tutar.
ülke: Şehre karşılık gelen ülkenin adını tutar.
bonus: Bonusun yüzde değerini tutar.
MySQL Tek Satırı Sil
Kayıtları tek tek silmede tablodan kayıtları silmenin ilk ve daha kolay yolu, yalnızca bir uygun kaydın silinmesini sağlayan çok güçlü bir WHERE yan tümcesi kullanarak. Bu, tablodan benzer türde bir dizi satırı silmek için de kullanılabilir.
Silme ifadesini ve yürütülmesini ayrıntılı olarak inceleyelim.
Burada, çalışan numarası 1013 olan 'Chris Nolan' adlı bir çalışanı kaldırmaya çalışacağız.
Yukarıdaki resimde gösterildiği gibi, DELETE ifadesi başarıyla yürütüldü ve çalışanın tablosundan bir satır silindi.
çıktı Aşağıdaki ifade, ifadenin yürütüldüğü zamanı, yürütülen MySQL ifadesini ve etkilenen satır sayısını gösterir.
Lütfen buradaki WHERE cümlesinden çok emin olun. WHERE yan tümcesi yanlışsa veya bir WHERE yan tümcesine sahip olmayı kaçırırsanız, veri kaybına neden olabilir. Bu tür durumlardan kaçınmak için üretimde periyodik veri yedekleme veya boşaltma uygulaması vardır.
Bu DELETE deyiminin çıktısını doğrulamak için, bu tablodaki SELECT deyimini empNum olarak 1013 olarak çalıştıralım.
Çıktı sonuçları, tüm sütunlar için NULL değeri gösterir, bu da böyle bir empNum için kayıt olmadığını gösterir. Aşağıdaki sorgunun Çıktısı, 0 satırın döndürüldüğünü gösterir, bu da kaydın yukarıdaki DELETE deyiminin çalıştırılmasıyla silindiğini gösterir.
Sorgu:
DELETE FROM employees WHERE empNum = 1013 ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş |
---|---|---|---|---|---|
7 | Tablodan tüm verilerin silinmesi ile karşılaştırıldığında, bu TRUNCATE'a göre nispeten yavaştır. | Tablodan tüm verileri silmekle karşılaştırıldığında bu, DELETE'den nispeten daha hızlıdır. | |||
BOŞ | BOŞ | BOŞ | BOŞ | BOŞ | BOŞ |
MySQL DELETE ORDER BY ve LIMIT Cümlesi Kullanılarak
ORDER BY ve LIMIT, yukarıda tartıştığımız iki maddedir. İlki, kayıtların hangi sırayla silinmesi gerektiğine karar vermede yardımcı olur, artan şekilde empNum içeren kayıtları silin veya maaşı azalan sırada olan kayıtları silin. İkincisi, bu işlemin silebileceği kayıtların sayısını sınırlamaya yardımcı olur.
Örneğin, 4 nolu bölüme ait sadece yüksek maaş alan 2 çalışanı silmek istiyorsak. Sonra bu sorgunun üç bölümü var.
- İlk, 4 numaralı departmandan çalışanlarımızı tasfiye etmemiz gerekiyor. Bu bir WHERE maddesine göre ele alınacak.
- Sonraki, yüksek maaş alan çalışanları tasfiye etmemiz gerekiyor. Bu, maaş sütunundaki ORDER BY yan tümcesi tarafından azalan sırada ele alınacaktır.
- Son olarak, sadece iki çalışanı tasfiye etmemiz gerekiyor. Bu, LIMIT maddesine göre ele alınacaktır.
DELETE sorgusuna bir göz atalım ve sonuçları görelim. Bunu yapmadan önce, öncelikle silmek istediğimiz kayıtların tam olarak ne olduğunu belirleyelim. Silmek istediğimiz kayıtları almak için yukarıdaki koşulları bir SELECT ifadesiyle kullanacağız ve daha sonra bu kayıtların silinip silinmediğini doğrulamak için aynı sorguyu yürüteceğiz.
Yukarıdaki SELECT sorgusunda, WHERE, ORDER BY ve LIMIT yan tümcelerini kullanarak yukarıda bahsettiğimiz üç koşulu da yerine getirdik. Sorgu bize biri empNum 1010 ve diğeri 1007 olmak üzere 2 kayıt verdi. Şimdi, bu iki kaydın silindiğinden emin olmak için DELETE sorgusunu çalıştıracağız.
Yukarıdaki resimde gösterildiği gibi, DELETE ifadesi başarılı bir şekilde yürütülmüştür ve çalışanın tablosundan iki satırı silmiştir. çıktı Aşağıdaki ifade, ifadenin yürütüldüğü zamanı, yürütülen MySQL ifadesini ve etkilenen satır sayısını gösterir.
Bu DELETE ifadesinin çıktısını doğrulamak için, empNum 1010 ve 1007 için SELECT'i çalıştıralım. Diğer çalışanlara deptNum 4 altında gösterilen aynı SELECT sorgusunu kullanamayız.
Çıktı sonuçları tüm sütunlar için NULL değeri gösterir, bu da bu tür çalışan sayıları için kayıt olmadığını gösterir. Çıktı Aşağıdaki sorgunun% 'si, 0 satırın döndürüldüğünü gösterir, bu da kaydın yukarıdaki DELETE deyiminin çalıştırılmasıyla silindiğini gösterir.
Sorgu:
DELETE FROM employees WHERE deptNum = 4 ORDER BY salary DESC LIMIT 2 ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş |
---|---|---|---|---|---|
BOŞ | BOŞ | BOŞ | BOŞ | BOŞ | BOŞ |
Select Clause Kullanarak MySQL DELETE
Daha sonra, bir tablodan kayıtları silerken SELECT cümlesinin kullanımından geçeceğiz.
Aşağıdaki senaryoyu düşünün:
İki takım masamız var: çalışanlar ve departmanlar. deptNum, departmanın tablosundaki birincil anahtar ve çalışanın masasındaki yabancı anahtar gibidir. Bu, bir çalışanın bir departmana atanması durumunda departmanlar tablosundaki departmanlardan birinden olması gerektiği anlamına gelir.
Şimdi, şu ana kadar hiçbir çalışanın atanmadığı departmanın tablosundan bu kayıtları silmemiz gerekiyor. Bunu, bir DELETE sorgusunun alt sorgusunda bir SELECT yan tümcesi bulundurarak yapabiliriz.
Önce silmek istediğimiz kayıtları belirleyelim:
Yukarıdaki SELECT sorgusunda bir alt sorgu var.
Sorgu işlevi aşağıdaki gibidir:
Sorgu, çalışanın tablosunda deptNum'un bulunmadığı departman tablosundaki tüm kayıtları çeker. Birleştirme, iki tablonun deptNum'undaki alt sorguda gerçekleştirilir.
Şimdi DELETE sorgusunu çalıştıralım ve bakalım bu iki kaydı departmanın tablosundan silebilecek miyiz, çünkü bu departmanlara hiçbir çalışan atanmamış.
Yukarıdaki resimde gösterildiği gibi, silme ifadesi, kendisine atanmış herhangi bir çalışan bulunmayan departman tablolarından 2 satırı sildi.
Bu DELETE deyiminin çıktısını doğrulamak için, tablo üzerinde SELECT'i çalıştıralım ve çıktıda ne olduğunu görelim.
Yukarıdaki doğrulama sorgusunun çıktı mesajı '0 satır döndü' diyor. Bu, deptNum 6 ve 7'ye sahip satırların silindiğini gösterir. Çıktı ayrıca, kayıtlar silindiğinden NULL değerleri göstermek yerine hiçbir kayıt göstermez.
Sorgu:
DELETE FROM departments WHERE NOT EXISTS (SELECT deptNum FROM employees WHERE departments.deptNum = employees.deptNum ) ;
MySQL Tablodan Tüm Verileri SİL
Ardından, bir tablodaki tüm satırları veya kayıtları silmemiz gereken senaryoya bakacağız.
Üretim durumunda böyle bir durumla asla karşılaşmayabilirsiniz. Ancak bu tür bir şey, kodunuzu birden çok farklı senaryo ile test etmeniz gereken geliştirme alanında gerekli olacaktır ve tabloda mevcut kayıtları silerek yeni bir test verileri kümesini yeniden oluşturmak isteyebilirsiniz.
Öncelikle, silmeyi düşündüğümüz verilere bir göz atalım. Çalışanlar_history tablosundan verileri silmeye çalışacağız.
Aşağıda verilen tablodaki mevcut mevcut verilerdir.
Burada staff_history tablosunda 18 satırımız var. Şimdi tüm bunları tek bir işlemde silelim. Sorgu, ilk bölümde tartıştığımıza neredeyse benzer. Tek değişiklik, silmek istediğimiz satır sayısında herhangi bir kısıtlama olmaması için sorgudan WHERE cümlesini kaldırmamız gerektiğidir.
Yukarıdaki resimde gösterildiği gibi, delete ifadesi başarıyla yürütüldü ve staff_history tablosundan 18 satırın tamamı silindi. Aşağıdaki çıktı ifadesi, ifadenin yürütüldüğü zamanı, yürütülen MySQL ifadesini ve etkilenen satır sayısını gösterir.
Bu DELETE deyiminin çıktısını doğrulamak için, tablo üzerinde SELECT'i çalıştıralım ve çıktıda ne olduğunu görelim.
Çıktı sonuçları tüm sütunlar için NULL değeri gösterir, bu da bu tür çalışan sayıları için kayıt olmadığını gösterir. Aşağıdaki sorgunun Çıktısı, 0 satırın döndürüldüğünü gösterir, bu da tüm kayıtların yukarıdaki DELETE deyiminin yürütülmesiyle silindiğini gösterir.
json dosyası nasıl görüntülenir
Sorgu:
DELETE FROM employees_history ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş |
---|---|---|---|---|---|
BOŞ | BOŞ | BOŞ | BOŞ | BOŞ | BOŞ |
MySQL Tüm Tabloyu SİL
Şimdi, tablonun kendisini silmemiz gereken senaryoya bakacağız. SQL terimleriyle buna DROP the table diyoruz. Tabloda veri olup olmadığı önemli değildir. Tabloyu, varsa verilerle birlikte bırakacaktır.
Yukarıdaki bölümde, companies_history tablosundaki verileri sildik. Bu bölümde, staff_history tablosunun kendisini bırakacağız.
Aşağıdaki komut çıktısı ile birlikte verilmiştir:
Yukarıdaki resimde gösterildiği gibi, DROP ifadesi başarılı bir şekilde yürütüldü ve MySQL veritabanının sistem kataloğundan staff_history tablosunu sildi.
Mesaja bakarsanız, 'etkilenen 0 satır' gösterecektir. Bunun nedeni, önceki bölümdeki 18 satırın tamamını silmiş olmamızdır. Bu tabloda herhangi bir satır varsa, bu sayıdaki satırlar etkilenir ve bu da silinmiş anlamına gelir.
Bu DROP ifadesinin çıktısını doğrulamak için, tablo üzerinde SELECT'i çalıştıralım ve çıktıda ne olduğunu görelim.
Yukarıdaki doğrulama sorgusunun çıktı mesajı tablonun mevcut olmadığını söylüyor. Bu, tabloyu kaldırmak için yukarıdaki DROP deyimini yürütmemizi doğrular.
Sorgu:
DROP TABLE employees_history ;
MySQL Kesik Komutu
DELETE komutunu kullanarak tablodaki tüm kayıtları silmeyi zaten tartışmıştık. Aynı şey TRUNCATE ifadesi kullanılarak da gerçekleştirilebilir.
Bu örnek için, staff_history tablosunu yeniden oluşturalım ve verilerle yeniden dolduralım. T Tabloyu yeniden oluşturmak ve yeniden doldurmak için yürütülen iki sorgu aşağıda verilmiştir:
Sorgu:
CREATE TABLE employees_history LIKE employees ; INSERT INTO employees_history (SELECT * FROM employees) ;
Employee_history tablosu şimdi verilerle böyle görünüyor.
Daha sonra, TRUNCATE deyimini kullanarak bu tablodaki tüm kayıtları kaldıracağız.
Resimde gösterildiği gibi, sorgu başarıyla yürütülmektedir. “Mesaj” kısmına yakından bakarsanız, “etkilenen 0 satır” yazdığını görürsünüz. Ancak bu tablonun içinde 15 satır olduğunu biliyoruz. O halde nasıl olur da sıfır gösterir?
Nedeni: Truncate ifadesi, çalıştırılmasından kaç satırın etkilendiğini dikkate almaz. Sadece tabloyu boşaltır. Bu, DELETE ve TRUNCATE ifadeleri arasındaki önemli farklardan biridir.
Çalışanlar_history tablosunda bir SELECT sorgusu yürüterek TRUNCATE ifadesinin yürütülmesini doğrulayalım.
Yukarıdaki resimde gösterildiği gibi, sorgu hiçbir satır döndürmedi ve ayrıca tüm sütunlar NULL değerleri gösteriyor, bu da daha önce yürüttüğümüz TRUNCATE ifadesinin tablodan tüm kayıtları sildiğini ima ediyor.
Sorgu:
TRUNCATE TABLE employees_history ;
TRUNCATE ve DELETE İfadeleri Arasındaki Fark
Bay Hayır | SİL | TRUNCATE |
---|---|---|
1 | Bu bir DML'dir (Veri Manipülasyon Dili). | Bu bir DDL'dir (Veri Tanımlama Dili). |
iki | DELETE komutunu kullandığımızda tablodaki herhangi bir SONRA SİLME tetikleyicisi etkinleşir. | TRUNCATE komutunu kullandığımızda tablodaki AFTER DELETE tetikleyicisi aktif hale gelmez. |
3 | Herhangi bir yabancı anahtar kısıtlaması olsa bile bir kayıt silinebilir. | Herhangi bir yabancı anahtar kısıtlaması varsa tablodaki kayıtlar kesilemez. |
4 | Tablo yeniden başlatılmayacaktır. | Tablo yeniden hayata geçirilecek. |
5 | WHERE cümlesi kullanılabilir. | WHERE yan tümcesi kullanılamaz. |
6 | Bu, her seferinde bir kaydı siler ve toplam silinen kayıt sayısını günlüklerde tutar. | Tüm kayıtları tek seferde temizler ve silinen kayıtların kaydını tutmaz. |
Referans Bütünlüğü ve SİLME Üzerindeki Etkisi
Olmadan önce görelim Bilgi tutarlılığı veya UR veya Yabancı Anahtar Kısıtlamaları nedir?
Yabancı Anahtar kısıtlamaları, üst ve alt tablo arasında bir ilişki veya bağlantı kurmakla ilgilidir. Bu, birbirine bağlı tablolardaki verilerin çapraz referans alınmasına yardımcı olur. Bir üst tablo birden çok alt tabloya sahip olabilir ve bunun tersi de geçerlidir.
Örneğin, Şu ana kadar tartıştığımız iki tablo, yani çalışanlar ve departmanlar, bir Yabancı Anahtar kısıtlaması kullanılarak birbirine bağlanmıştır. Bu kısıtlama, iki tabloyu birbirine bağlayan anahtar sütun olarak genellikle birincil anahtar olan bir sütunun oluşturulmasıyla oluşturulur.
Departman tablosundaki deptNum sütunu, çalışanın tablosundaki deptNum sütununa bağlanmıştır. Bu durumda, bölümler üst tablodur ve çalışanlar alt tablodur.
Ancak, bu DELETE ifadelerini nasıl etkiler?
MySQL'de veya herhangi bir veritabanında, ana veya alt tablolardan kayıtlar silinirken ele alınması gereken belirli senaryolar vardır.
Tartışabileceğimiz birden fazla referans seçeneği var:
# 1) SİLME KADEMESİNDE: Kural, herhangi bir alt tablodaki herhangi bir referansı veya karşılık gelen bir satırı varsa, üst tablodan bir satırı kaldıramayacağımızı söylüyor. Bununla birlikte, bir üst tablonun epeyce alt tablosu varsa, kayıtları önce her bir alt tablodan ve sonra üst tablodan kaldırmak sıkıcı bir görevdir.
Bunun için ON DELETE CASCADE adlı bir geçici çözüm vardır. Bu, alt tabloların her birinin CREATE deyimine eklenen bir cümledir. Bu nedenle, üst tablodan bir satırı sil dediğimizde, MySQL motoru ilk olarak alt tablolardaki bu satırın referanslarını belirleyecek ve bu kayıtları kaldıracak ve en sonunda kaydı ana tablodan silecektir.
# 2) EYLEM YOK: Bu varsayılan bir seçenektir. Bir DELETE ifadesinin yürütülmesi, alt tabloların herhangi birinde referansları olan bir kaydı silmeye çalışırsa, bu seçenekle ifadenin yürütülmesi durur ve MySQL işlemi son kesinleştirme noktasına geri alınacaktır.
# 3) KISITLAMA: RESTRICT ve NO ACTION işlevlerinin işleyişi aynıdır. Yürütmeyi durduracak ve bir geri alma işlemi gerçekleştirecektir.
# 4) BOŞ AYARLA: Bir silme ifadesinin yürütülmesi, alt tablodan herhangi birinde referansları olan bir kaydı silmeye çalışırsa, bu seçenek tüm alt tablolarda sütun değerini NULL olarak günceller ve yapıldığında, kaydı üst tablodan siler. tablo.
# 5) VARSAYILAN AYARLA: Bir DELETE deyiminin yürütülmesi, alt tabloların herhangi birinde referansları olan bir kaydı silmeye çalışırsa, bu seçenek, sütun değerlerini tablonun CREATE deyiminde tanımlanan varsayılan değere günceller.
Sıkça Sorulan Sorular ve Cevaplar
S # 1) MySQL'de Tablodan Veri Nasıl Silinir?
youtube mp3 video dönüştürme aracı
Cevap: Yalnızca seçilen bir veri satırını silmek için silme komutunun sözdizimi aşağıda verilmiştir.
DELETE FROM table_name WHERE condition;
S # 2) MySQL'de Tablodaki Tüm Veriler Nasıl Silinir?
Cevap: Tablodan tüm satırları silmek için DELETE komutunun sözdizimi şöyledir:
DELETE * FROM table_name;
S # 3) MySQL'de Tabloyu Veritabanından Nasıl Silinir?
Cevap: Drop komutu, tabloyu veritabanından silmek için kullanılabilir. Kullanıcı, tablo_adı'nı silinmesi gereken tablo ile değiştirebilir.
DROP TABLE table_name;
S # 4) MySQL'de Veritabanı Nasıl Silinir?
Cevap: Drop komutu, veritabanını silmek için kullanılabilir.
DROP Database db_name;
Kullanıcılar, db_name'i silinmesi gereken veritabanı adıyla değiştirebilir.
S # 5) MySQL'de DELETE CASCADE ON nedir?
Cevap: Üst kayıt silindiğinde, ON DELETE CASCADE silinmek üzere eşleşen bir alt kayıt oluşturur. Böylece, silme etkisi ebeveynden çocuğa doğru kademelendirilir. Bu, çoklu tablo silme işleminin gerçekleştirilmesinde faydalı olabilir.
S # 6) TRUNCATE neden bir DDL ifadesi olarak kabul edilir?
Cevap: TRUNCATE deyimi aslında tablonun meta verileriyle birlikte tabloyu bırakır ve yeniden oluşturur. Dolayısıyla bu bir DDL ifadesidir.
S # 7) TRUNCATE geri alınabilir mi?
Cevap: Hayır, TRUNCATE bağımsız olarak çalıştırılırsa bir otomatik tamamlama ifadesidir. Bu, kayıt da onunla birlikte yürütüldüğünden geri alınamayacağı anlamına gelir. Ancak bir işlemin parçasıysa SQL Günlük Dosyaları kullanılarak geri alınabilir.
S # 8) DELETE deyimleri geri alınabilir mi?
Cevap: Evet, DELETE ifadeleri geri alınabilir. COMMIT'i çalıştırmadan önce sadece ROLLBACK komutunu çalıştırın.
S # 9) Bir sütun DELETE komutu kullanılarak silinebilir mi?
Cevap: Sütun ekleme veya silme, DDL komutlarıdır. Tablodan bir sütun DROP için bir ALTER ifadesi kullanılmalıdır.
Sonuç
Bu eğitimde, MySQL'de DELETE komutlarını çalıştırmanın farklı yollarını öğrendik.
Özetle şunu gördük:
- MySQL Tek Satırı Sil
- ORDER BY ve Limit Clause Kullanarak MySQL Silme
- MySQL Select Clause Kullanarak Silme
- MySQL Tüm Tabloyu Sil
- MySQL Kes
- TRUNCATE ve DELETE ifadeleri arasındaki fark
- Referans Bütünlüğü ve SİLME Üzerindeki Etkileri
Gereksinime göre yukarıdakilerden herhangi birini kullanabiliriz.
Mutlu Okumalar !!
Önerilen Kaynaklar
- Unix Cat Komut Sözdizimi, Örneklerle Seçenekler
- Sözdizimi, Seçenekler ve Örneklerle Unix Sıralama Komutu
- MySQL Tabloya Ekle - İfade Sözdizimi ve Örnekler Ekle
- MongoDB Güncelleme ve Örneklerle Belge Silme
- Örneklerle Unix'te Kesme Komutu
- Örneklerle C ++ 'da Yeni / Silme Operatörleri
- MySQL Güncelleme Bildirimi Eğitimi - Sorgu Sözdizimini ve Örnekleri Güncelleme
- Örneklerle Unix'te Ls Komutu