Bu makalede, MySQL veritabanında kayıt güncelleme ve silme işlemleri hakkında detaylı bilgi verilmektedir UPDATE ve DELETE sorguları kullanılarak bir veya birden fazla kaydın güncellenmesi veya silinmesi mümkündür İşlemler yapılırken, verilerin yedeklenmesi ve doğru bir şekilde kaydedilmesi önemlidir WHERE koşulu kullanarak belirli bir kaydın güncellenmesi ya da silinmesi işlemi gerçekleştirilebilir Ancak veritabanı işlemleri dikkatli ve özenli bir şekilde yapılmalıdır
Bu makalede, MySQL veritabanında kayıt güncelleme ve silme işlemleri hakkında detaylı bilgi verilecektir. Bu işlemlerin doğru bir şekilde yapılması veritabanı yönetimi için oldukça önemlidir. Kayıt güncelleme işlemi, veritabanında bulunan bir ya da birden fazla kaydın değiştirilmesini sağlar. Kayıt silme işlemi ise veritabanındaki kayıtların tamamen silinmesine ya da belirli koşullara göre silinmesine olanak tanır.
MySQL veritabanında kayıt güncelleme işlemi, UPDATE sorgusu kullanılarak yapılır. Bir veya birden fazla kaydın güncellenmesi işlemi, WHERE koşulu kullanılarak belirli bir kaydın güncellenmesi olarak da gerçekleştirilebilir. Birden fazla kaydın aynı anda güncellenmesi işlemi, belirli bir koşul olmadan gerçekleştirilir. İşlem öncesinde veritabanına bağlanma ve anahtar sözcüklerin doğru kullanımı oldukça önemlidir. Güncelleme işlemi sonrasında veritabanının doğru bir şekilde kaydedildiğinden emin olmak gerekir.
MySQL veritabanında kayıt silme işlemi ise DELETE sorgusu kullanılarak yapılır. Bir veya birden fazla kaydın silinmesi işlemi, WHERE koşulu kullanılarak belirli bir kaydın silinmesi olarak da gerçekleştirilebilir. Birden fazla kaydın aynı anda silinmesi işlemi de belirli bir koşul olmadan gerçekleştirilir. Tablonun tamamen silinmesi işlemi ise TRUNCATE sorgusu kullanılarak gerçekleştirilir. Ancak bu işlem sonrasında tablo ve kayıtları tamamen geri getirilmemek üzere silinir.
Bu makaledeki bilgiler, doğru bir şekilde uygulandığında MySQL veritabanı yönetiminde oldukça faydalı olacaktır. Ancak veritabanı işlemleri özenli ve dikkatli bir şekilde gerçekleştirilmelidir. Aksi takdirde yanlış verilerin silinmesi veya güncellenmesi gibi hatalar meydana gelebilir. Bu nedenle veritabanı işlemleri yapılırken, verilerin yedeklenmesi ve işlemlerin doğru bir şekilde kaydedilmesi önemlidir.
Kayıtların Güncellenmesi
MySQL veritabanında kayıt güncelleme işlemi yapmak için UPDATE sorgusu kullanılır. Bu sorgu ile bir veya birden fazla kaydın verileri güncellenebilir. Güncelleme işlemi yapmak istediğiniz tabloyu ve alanları belirledikten sonra SET ile güncel verileri belirtirsiniz. WHERE koşulu ile de güncelleme işleminin yapılacağı kayıt veya kayıtları belirlersiniz.
Örneğin, "customers" tablosunda "city" alanını "Ankara" olarak değiştirmek istediğimizi düşünelim. Bu işlemi yapmak için aşağıdaki sorguyu kullanabiliriz:
SQL Kodu | Açıklama |
---|---|
UPDATE customers SET city = 'Ankara' WHERE id = 1; | "customers" tablosunda "id" değeri 1 olan kaydın "city" alanı "Ankara" olarak güncellenir. |
Birden fazla kaydın verilerini güncellemek istediğinizde ise WHERE koşulu ile güncellenecek kayıtları belirleyebilirsiniz. Örneğin, "country" alanı "Turkey" olan tüm müşterilerin "city" alanını "Ankara" olarak güncellemek istediğimizi düşünelim. Bu işlemi yapmak için aşağıdaki sorguyu kullanabiliriz:
SQL Kodu | Açıklama |
---|---|
UPDATE customers SET city = 'Ankara' WHERE country = 'Turkey'; | "customers" tablosunda "country" alanı "Turkey" olan tüm kayıtların "city" alanı "Ankara" olarak güncellenir. |
Eğer güncelleme işleminin belirli koşullar sağlandığında yapılmasını istiyorsanız IF sorgusunu kullanabilirsiniz. Bu sorgu ile belirtilen koşullar sağlandığında güncelleme işlemi gerçekleşir, koşullar sağlanmadığında işlem yapılmaz.
UPDATE Sorgusu Kullanarak Kayıtların Güncellenmesi
MySQL veritabanında kayıtları güncellemek için en çok kullanılan sorgu, UPDATE sorgusudur. Bu sorgu ile bir veya birden fazla kaydın nasıl güncellenebileceği öğrenilir.
UPDATE sorgusu kullanılarak bir kayda ait verileri güncellemek için öncelikle kullanılacak tablo seçilmelidir. Tablo seçildikten sonra SET anahtar kelimesi ile hangi sütunun ne olacağı belirtilir. UPDATE tablo_ismi SET sütun_ismi=yeni_veri WHERE koşul;
WHERE koşulu kullanılarak sadece belirli kayıtların güncellenebilmesi sağlanır. Aksi takdirde, tüm tablodaki kayıtlar güncellenir. Örneğin, UPDATE kullanıcılar SET şifre='yeni_şifre' WHERE id=1;
sorgusu kullanılarak 'kullanıcılar' tablosunda id'si 1 olan kullanıcının şifresi değiştirilebilir.
Birden fazla kaydı güncellemek için ise WHERE koşulu yerine IN veya BETWEEN anahtar kelimeleri kullanılabilir. Örneğin, UPDATE kullanıcılar SET durum='pasif' WHERE id BETWEEN 5 AND 10;
sorgusu, id'si 5 ile 10 arasında olan kullanıcıların durumunu pasif olarak değiştirecektir.
UPDATE sorgusunda birden fazla sütun da aynı anda güncellenebilir. Örneğin, UPDATE kullanıcılar SET isim='Ali', soyisim='Can' WHERE id=2;
sorgusu, id'si 2 olan kullanıcının isim ve soyismini değiştirecektir.
Bu şekilde MySQL veritabanında kayıtların güncellenmesi işlemi gerçekleştirilebilir. Ancak güncelleme işlemi yapmadan önce, veritabanındaki kayıtların yedeklerinin alınması önemlidir.
WHERE Koşulu Kullanma
WHERE koşulu kullanarak belirli bir kaydın güncellenmesi işlemi oldukça faydalıdır. WHERE koşulu, bir veya birden çok kaydı belirli bir koşula göre seçmek veya güncellemek için kullanılabilir. Örneğin, bir müşterinin adını güncellemek istiyorsak, WHERE koşulu kullanarak sadece o müşteriye ait kaydın güncellenmesi sağlanabilir.
Bunun için öncelikle UPDATE sorgusu kullanarak, hangi tablodaki kaydın güncellenmesi gerektiğini belirtmeliyiz. Ardından, SET anahtar kelimesi ile hangi sütunun güncelleneceğini belirleyebiliriz. Son olarak, WHERE anahtar kelimesini kullanarak hangi kaydın güncellenmesi gerektiğini belirtebiliriz.
UPDATE | musteriler | SET | ad = 'Yeni Adı' | WHERE | id = 1 |
Yukarıdaki örnek, müşteri tablosunda id'si 1 olan müşterinin adını 'Yeni Adı' olarak günceller.
Bunun dışında, WHERE koşulları daha karmaşık şekillerde kullanılabilir. Örneğin, LIKE anahtar kelimesi kullanarak belirli bir kelimeyi içeren kayıtların seçilmesi veya <> operatörü kullanarak belirli bir değer hariç tüm kayıtların seçilmesi sağlanabilir.
UPDATE | musteriler | SET | ad = 'Yeni Adı' | WHERE | ad LIKE '%Ahmet%' |
Yukarıdaki örnek, 'Ahmet' kelimesini içeren tüm müşterilerin adını 'Yeni Adı' olarak günceller.
WHERE koşullarını doğru şekilde kullanarak, veritabanındaki kayıtları güncellemek veya silmek oldukça kolay hale gelir.
Birden Fazla Kaydın Güncellenmesi
MySQL veritabanındaki birden fazla kaydın aynı anda güncellenmesi işlemi oldukça işlevseldir. Birden fazla kaydın güncellenmesi yapılırken, UPDATE sorgusu kullanılır.
Bu sorgunun sentaksı şu şekildedir:
UPDATE tablo_adiSET sutun1 = yeni_veri1, sutun2 = yeni_veri2, ...WHERE kosul;
Yapılacak olan işlem, SET parametresi ile belirtilirken, hangi koşulların sağlanması durumunda güncelleme işleminin yapılacağı WHERE parametresi ile belirtilir.
Birden fazla kaydın güncellenmesi için WHERE koşulu yerine IN veya BETWEEN kullanarak bir aralık belirlenebilir. Örneğin:
UPDATE ogrencilerSET bolum = 'Bilgisayar Mühendisliği'WHERE ogrenci_no IN (101, 102, 103, 104);
Bu sorgu, ogrenci_no sütununda 101, 102, 103 ve 104 değerleri olan öğrencilerin bölümlerini "Bilgisayar Mühendisliği" olarak günceller.
Ayrıca, birden fazla kaydın güncellenmesi için bir alt sorgu kullanılabilir. Örneğin:
UPDATE ogrencilerSET bolum = 'Bilgisayar Mühendisliği'WHERE ogrenci_no IN (SELECT ogrenci_no FROM ogrenci_bilgi WHERE sinif = '3A');
Bu sorgu, ogrenci_bilgi tablosundan sinifi "3A" olan öğrencilerin numaralarını alarak ogrenciler tablosunda bölümlerini "Bilgisayar Mühendisliği" olarak günceller.
Birden fazla kaydın güncellenmesi işleminde dikkat edilmesi gereken en önemli nokta, güncellenecek kayıtların tespit edilmesidir. Yanlış bir WHERE koşulu ya da sorgu, tüm kayıtların yanlışlıkla güncellenmesine neden olabilir. Bu nedenle, sorguların dikkatli bir şekilde yazılması gerekmektedir.
IF Sorgusu Kullanarak Kayıtların Güncellenmesi
IF sorgusu, belirli koşullar altında kayıtların güncellenmesi işlemi için kullanılır. Bu sorguyla, güncelleme işlemi yapmadan önce belirli bir koşulun oluşup oluşmadığı kontrol edilir. Eğer koşul sağlanıyorsa güncelleme işlemi gerçekleştirilir.
Bu sorgunun kullanım şekli şu şekildedir:
IF Sorgusu Kullanımı |
---|
IF koşul THEN |
SET sutun1 = deger1, |
SET sutun2 = deger2, |
... |
END IF; |
Bu sorguda yapılacak güncelleme işlemi IF koşul THEN bloğu içerisine yazılır. Belirtilen koşul sağlandığında bu blok çalışır ve kayıtlar güncellenir. Eğer koşul sağlanmazsa güncelleme işlemi gerçekleşmez. Sonrasında END IF; yazarak sorgunun sonlandırılması sağlanır.
Örnek olarak, "students" adında bir tablomuz olduğunu ve "name" sütunu "John" olan öğrencilerin "grade" sütununu "A" olarak güncellemek istediğimizi varsayalım. Bunun için şu sorguyu kullanabiliriz:
IF name = "John" THEN UPDATE students SET grade = "A" WHERE name = "John";END IF;
Bu sorguda, "name" sütunu "John" olan öğrencilerin kaydı bulunduğunda "grade" sütunu "A" olarak güncellenecektir.
Kayıtların Silinmesi
Veritabanı yönetimi, zaman zaman kayıt silme işlemlerini gerektirebilir. MySQL, DELETE ve TRUNCATE sorgularını kullanarak kayıtların silinmesine olanak tanır.
DELETE sorgusu, veritabanındaki bir veya birden fazla kaydın silinmesine olanak tanır. Genellikle WHERE koşulu ile kullanılarak, belirli bir kaydın silinmesi sağlanır. DELETE sorgusunun temel yapısı şu şekildedir:
Sorgu | Açıklama |
---|---|
DELETE FROM tablo_adi WHERE kosul; | Belirtilen tablodaki koşulu sağlayan kayıtları siler. |
Örneğin, "customers" tablosundaki "id" değeri 5 olan kaydı silmek için aşağıdaki sorgu kullanılabilir:
DELETE FROM customers WHERE id=5;
DELETE sorgusu, WHERE koşulu kullanarak belirli bir kaydın silinmesine de olanak tanır. Örneğin, "customers" tablosundaki "surname" değeri "Smith" olan kaydı silmek için aşağıdaki sorgu kullanılabilir:
DELETE FROM customers WHERE surname='Smith';
DELETE sorgusu, birden fazla kaydın aynı anda silinmesini de sağlar. Örneğin, "customers" tablosundaki "age" değeri 30'dan küçük olan tüm kayıtları silmek için aşağıdaki sorgu kullanılabilir:
DELETE FROM customers WHERE age < 30;
TRUNCATE sorgusu, bir tablonun tüm kayıtlarının silinmesini sağlar. DELETE sorgusuna göre daha hızlı ve performanslı bir sorgudur. TRUNCATE sorgusunun temel yapısı şu şekildedir:
Sorgu | Açıklama |
---|---|
TRUNCATE TABLE tablo_adi; | Belirtilen tablonun tüm kayıtlarını siler. |
Örneğin, "customers" tablosunun tüm kayıtlarını silmek için aşağıdaki sorgu kullanılabilir:
TRUNCATE TABLE customers;
MySQL veritabanındaki kayıtların silinmesi ve hangi sorguların kullanılacağına ilişkin olarak bu makaledeki bilgiler işinize yarayacaktır.
DELETE Sorgusu Kullanarak Kayıtların Silinmesi
MySQL veritabanında kayıtların silinmesi, DELETE sorgusu kullanılarak yapılır. Bu sorgu ile bir veya birden fazla kaydın silinmesi mümkündür. DELETE sorgusu kullanılırken, kaydın silineceği tablo belirtilmeli ve WHERE koşulu kullanılmalıdır.
Satır | Açıklama |
---|---|
1 | DELETE FROM tablo_adi |
2 | WHERE kosul |
Tablo adı, kaydın silineceği tablo ismini belirtirken, kosul kısmında belirtilen şartlar, sadece o şartları sağlayan kayıtların silinmesini sağlar. Eğer WHERE koşulu belirtilmeden DELETE sorgusu uygulanırsa, tablodaki tüm kayıtlar silinir.
Birden fazla kaydın aynı anda silinmesi için, WHERE koşulunda IN veya BETWEEN operatörlerinden biri kullanılabilir. IN operatörü, belirtilen bir liste içindeki kayıtların silinmesine izin verirken, BETWEEN operatörü, belirtilen iki değer arasındaki kayıtların silinmesine izin verir.
DELETE FROM tablo_adiWHERE sutun IN (deger1, deger2, deger3);
Bu örnekte, tablo_adı değişkeni kullanılarak, belirtilen listedeki değerlere sahip kayıtların silinmesi sağlanır.
- Silme işleminin geri dönüşü yoktur. Silinmiş kayıtlar geri getirilemez.
- Tablodaki ilişkili diğer kayıtların da etkilenebileceğini unutmayın.
Yukarıdaki ipuçlarını takip ederek, MySQL veritabanındaki kayıtların DELETE sorgusu kullanılarak nasıl silinebileceğini öğrenebilirsiniz.
WHERE Koşulu Kullanma
Belirli bir kaydın silinmesi işlemi yaparken WHERE koşulu kullanılarak sadece belirtilen kayıt silinebilir. WHERE koşulu kullanma örneği aşağıdaki gibidir:
ID | Ad | Soyad | Yaş |
---|---|---|---|
1 | Ahmet | Kara | 30 |
2 | Mehmet | Yıldız | 25 |
3 | Aysun | Yılmaz | 40 |
4 | Ali | Şahin | 50 |
Yukarıdaki tablodan Mehmet Yıldız'ı silmek için aşağıdakine benzer bir sorgu kullanabilirsiniz;
DELETE FROM kisilerWHERE Ad='Mehmet' AND Soyad='Yıldız'
Bu sorgu Mehmet Yıldız'ın kaydını silecektir. WHERE koşulu kullanarak belirli bir kaydın silme işlemi yaparken koşulun doğru şekilde oluşturulması önemlidir, aksi takdirde yanlış kayıtların silinmesine neden olabilir.
Birden Fazla Kaydın Silinmesi
MySQL veritabanındaki bir tablodaki birden fazla kayıdın aynı anda silinmesi için kullanılan sorgu, DELETE FROM ve WHERE koşulu kullanılarak yapılır. WHERE koşulu, silinecek kayıtların belirtildiği koşulların belirlenmesinde kullanılır.
Örneğin, bir müşteri tablosundaki tüm kayıtların silinmesi gerekiyorsa, sorgu şu şekilde olabilir:
DELETE FROM müşteriler;
Bu sorgu ile tüm müşteri kayıtları silinecektir.
Ancak, sadece belirli bir kategoriye ait müşteri kayıtlarının silinmesi gerekiyorsa, WHERE koşulu kullanılabilir. Örneğin:
DELETE FROM müşteriler WHERE kategori = 'X';
Bu sorgu ile 'X' kategorisindeki müşteri kayıtları silinecektir.
Ayrıca, birden fazla koşul da belirtilebilir. Örneğin:
DELETE FROM müşteriler WHERE kategori = 'X' AND sipariş_tarihi < '2021-01-01';
Bu sorgu ile 'X' kategorisindeki ve 2021-01-01 tarihinden önce sipariş veren müşteri kayıtları silinecektir.
Birden fazla kaydın silinmesi işlemi, bir tablonun tüm kayıtlarının silinmesi işlemine benzer. Ancak, WHERE koşulu kullanılarak silinecek kayıtların belirtilmesi bu işlemi daha belirgin hale getirir.
TRUNCATE Sorgusu Kullanarak Tablonun Tamamen Silinmesi
TRUNCATE sorgusu, bir tablonun tüm kayıtlarını silmek için kullanılır. Bu sorgu, DELETE sorgusundan farklıdır çünkü DELETE sorgusu, tablonun sadece bir veya birkaç kaydını silerken TRUNCATE sorgusu tablodaki tüm kayıtları siler.
TRUNCATE sorgusu kullanırken, dikkatli olmalısınız çünkü geri dönüşü yoktur. Yani, bir tablonun tüm kayıtlarını silmeden önce mutlaka yedek almanız gerekiyor. Bunun dışında, TRUNCATE sorgusu, tabloda tüm sütunların yapılandırmasını da sıfırlar. Yani, tablonun sütunları, tablo ile birlikte oluşturulur.
TRUNCATE sorgusunu kullanmak için, aşağıdaki syntax'ı kullanabilirsiniz:
TRUNCATE TABLE table_name;
Burada, "table_name" silmek istediğiniz tablonun adıdır. Örneğin, "Customers" tablosundaki tüm kayıtları silmek istediğinizde, syntax aşağıdaki gibi olur:
TRUNCATE TABLE Customers;
Bu işlem, "Customers" tablosunda bulunan tüm kayıtları siler ve tablonun yapılandırmasını sıfırlar. Ancak, tablonun yapılandırmasını sıfırlamak istemiyorsanız, bir "DELETE FROM" sorgusu kullanabilirsiniz. Bu sorgu, tablodaki tüm kayıtları siler ancak tablonun yapılandırmasını sıfırlamaz. Syntax aşağıdaki gibidir:
DELETE FROM table_name;
Burada, "table_name" silmek istediğiniz tablonun adıdır. Örneğin, "Customers" tablosundaki tüm kayıtları silmek istediğinizde, syntax aşağıdaki gibi olur:
DELETE FROM Customers;
Yukarıdaki syntax, "Customers" tablosundaki tüm kayıtları siler ancak tablonun yapılandırmasını sıfırlamaz.