Java ile MySQL Veritabanındaki Verileri Okuma ve Yazma

Java ile MySQL Veritabanındaki Verileri Okuma ve Yazma

Bu makalede, Java programlama dili kullanarak MySQL veritabanındaki verilerin nasıl okunup yazılabileceği incelenmektedir JDBC sınıfı kullanılarak veritabanına bağlanma ve SQL sorguları kullanarak verilerin okunması anlatılmaktadır SELECT komutu, WHERE koşulları ve JOIN işlemi örnekleri verilerek verilerin okunması açıklanmaktadır Ayrıca Procedure call komutuyla verilerin okunması da gösterilmektedir Verilerin yazılması için INSERT, UPDATE ve DELETE komutları incelenmektedir Bu makale, Java programlama dili kullanarak MySQL veritabanı işlemleri ile ilgilenenler için kullanışlı bir kaynak olarak öne çıkmaktadır

Java ile MySQL Veritabanındaki Verileri Okuma ve Yazma

Merhaba! Bu makalemizde, Java programlama dili kullanarak MySQL veritabanındaki verileri nasıl okuyabileceğimizi ve yazabileceğimizi öğreneceğiz.

Bunun için Java JDBC sınıfını kullanarak MySQL veritabanına nasıl bağlanabileceğimizi öğrenip, verileri nasıl okuyabileceğimizi ve yazabileceğimizi gösteren örnekler sunacağız.

Verileri okumak için SELECT komutunu kullanarak nasıl okuyabileceğimizi ve WHERE koşulları kullanarak verilerin içeriğine filtre uygulayabileceğimizi öğreneceksiniz.

Ek olarak, birden fazla tabloyu JOIN komutu kullanarak nasıl okuyabileceğimizi öğreneceğiz.

Ayrıca, procedure call komutu kullanarak verileri nasıl okuyabileceğimizi göstereceğiz.

Verileri yazmak için ise INSERT komutunu kullanarak nasıl verileri yazabileceğimizi ve PreparedStatement kullanarak nasıl yazabileceğimize dair örnekler vereceğiz.

UPDATE komutu kullanarak verilerin nasıl güncelleneceğinin yanı sıra, DELETE komutu kullanarak nasıl silineceğini de öğreneceksiniz.

Özetle, bu makale sayesinde Java programlama dili kullanarak MySQL veritabanındaki verileri okuyup yazmanın ayrıntılarını öğreneceğiz. Haydi başlayalım!


MySQL Veritabanına Bağlanma

Java programlama dili, MySQL veritabanına bağlanmak için JDBC (Java Database Connectivity) sınıfını kullanır. Öncelikle, MySQL JDBC sürücüsünü indirip kurmanız gerekmektedir. Daha sonra, Java programınızda MySQL veritabanına bağlantı sağlamak için gerekli kodları yazmalısınız. Bu sayede, MySQL veritabanındaki verilere erişim sağlayabilir ve bu verileri programınızda kullanabilirsiniz.

MySQL veritabanına bağlantı sağlamak için, öncelikle bağlantı URL'si, kullanıcı adı ve şifresi gereklidir. Bağlantı URL'si, veritabanının adını, yerel veya uzak sunucu adını, port numarasını, ve kullanılan protokolü içerir. Bağlanmak için gereken bilgilere sahip olduktan sonra, getConnection () yöntemini kullanarak veritabanına bağlanabilirsiniz.

Adım Açıklama
1 MySQL JDBC sürücüsünü yükleyin ve kaydedin.
2 Bir bağlantı URL'si oluşturun.
3 Bir kullanıcı adı ve şifresi belirleyin.
4 Bağlantıyı DriverManager sınıfının getConnection() yöntemi ile oluşturun.

Java programınız, bağlantı kurulduktan sonra MySQL veritabanındaki verilere erişebilir. Veritabanındaki verileri okumak ve yazmak için çeşitli SQL komutlarını kullanabilirsiniz. Bu komutlar, örneklerle birlikte makalemizin sonraki bölümlerinde ele alınacaktır.


Verileri Okuma

Java, oldukça popüler bir programlama dilidir ve veritabanları ile de sıkça kullanılır. MySQL, dünyanın en popüler açık kaynaklı veritabanıdır ve Java ile kolayca kullanılabilir. Bu makalede, Java programlama dili kullanarak MySQL veritabanındaki verileri okuyup yazmanın ayrıntıları ele alınacaktır. Şimdi verileri okuma kısmına odaklanalım.

Verileri okuma işlemi yaparken, Java programı ile MySQL veritabanına bağlanmanız gerekmektedir. Java JDBC sınıfını kullanarak MySQL veritabanına nasıl bağlanacağınızı öğreneceksiniz. Daha sonra, okuma işlemini gerçekleştirmek için bir SQL sorgusu göndermeniz gerekmektedir.

Verileri okumak için en temel SQL sorgusu SELECT'tir. SELECT sorgusunu kullanarak verilerin nasıl okunacağı gösterilecektir. Ayrıca, bir veya daha fazla WHERE koşulu kullanarak verilerin içeriğine filtre uygulayabileceksiniz. Örneğin, sadece belli bir tarihteki verileri okumak için WHERE koşulunu kullanabilirsiniz.

Birden fazla tabloyu JOIN komutu kullanarak verilerin nasıl okunacağına da değinilecektir. JOIN işlemi ile farklı tablolardan verileri birleştirebilirsiniz. Bu işlem, verileri daha iyi anlayabilmek için sıklıkla kullanılır.

Bunların yanı sıra, Procedure call komutu kullanarak verilerin nasıl okunacağı da gösterilecektir. Procedure call, bir fonksiyon gibi kullanılır ve veritabanında saklı olan bir SQL sorgusu çağrılır. Bu, verileri okumanın daha verimli bir yoludur.

Sonuç olarak, Java programı ile MySQL veritabanındaki verileri okumak oldukça kolaydır. Bu makalede SELECT sorgusu, JOIN işlemi ve Procedure call komutu kullanılarak örnekler sunulacaktır. Verileri okumak için bu yöntemleri kullanarak, veritabanındaki verileri işleyebilir ve gerektiğinde filtreleyebilirsiniz.


SELECT Komutu

SELECT komutu, MySQL veritabanından okuma işlemi yapmanın en temel yöntemidir. Bu komut, veritabanındaki belirli bir tablodan veya birden fazla tablodan verileri okumak için kullanılır. Verileri okurken, belirli sütunları veya tüm sütunları seçerek verilerin döndürülmesi sağlanabilir.

SELECT komutu, "SELECT * FROM" syntax yapısı ile kullanıldığında veritabanındaki tüm verileri okur. Örneğin, "SELECT * FROM Employees" yazarsak, "Employees" tablosundaki tüm verileri okumuş oluruz.

Bunun yanı sıra SELECT komutu, WHERE koşulları ile de kullanılabilir. Örneğin, "SELECT * FROM Employees WHERE Age < 30" komutu yazarsak, "Employees" tablosundaki yaşları 30'dan küçük olan tüm çalışanların verilerini döndürür.

SELECT Komutu Örneği Açıklama
SELECT * FROM Employees "Employees" tablosundaki tüm verileri döndürür.
SELECT FirstName, LastName FROM Employees WHERE Salary > 50000 "Employees" tablosundaki adı "FirstName" ve soyadı "LastName" olan çalışanların maaşları 50000'den büyük ise verilerini döndürür.

SELECT komutu ayrıca JOIN işlemi ile de birleştirilebilir. Bu işlem, birden fazla tablodan veri çekmek için kullanılır. Örneğin, "SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID" komutu yazarsak, "Orders" ve "Customers" tablolarını birleştirir ve bu tablolardaki "OrderID" ve "CustomerName" sütunlarından verileri döndürür.

SELECT ve JOIN İşlemi Örneği Açıklama
SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID "Orders" ve "Customers" tablolarını birleştirir ve "OrderID" ve "CustomerName" sütunlarında verileri döndürür.

SELECT komutu, bir veritabanı uygulamasında en sık kullanılan komutlardan biridir ve temel okuma işlemleri için esastır.


WHERE Koşulları

Java programlama dili kullanarak MySQL veritabanındaki verileri okuma ve yazma süreci oldukça kolaydır. MySQL veritabanına bağlanmak için JDBC sınıfını kullanmanız yeterlidir. Bu bağlantı sonrasında, WHERE koşulları kullanarak verilerin içeriği filtrelenerek okunabilir hale getirilebilir.

WHERE koşullarının kullanımının temel amacı, belirli veri gruplarının belirlenmiş bir şartı sağladıkları durumlarda okunabilmelerini sağlamaktır. Tek bir WHERE koşulu kullanarak filtreleme yapmak mümkündür, ancak daha spesifik hale getirmek adına birden fazla koşul da kullanılabilir. Örneğin, belirli bir yıl veya lokasyondaki verileri okumak istediğinizde, WHERE koşullarını kullanarak bu filtrelemeleri yapabilirsiniz.

Ayrıca, OR ve AND koşulları da kullanarak daha detaylı filtrelemeler gerçekleştirebilirsiniz. OR koşulu, herhangi bir koşulun sağlanması durumunda verilerin okunmasını sağlar. AND koşulu ise, tüm koşulların aynı anda sağlanması durumunda verilerin okunmasını sağlar.

WHERE koşullarını kullanmak verilerin okunmasında oldukça faydalıdır. Bu sayede belirli bir kategoriye ait verileri kolayca okuyabilir ve işlemlerinizi daha hızlı gerçekleştirebilirsiniz. Ancak, hatalı koşullar kullanmak ya da koşulların sayısını gereksiz yere arttırmak, programın performansını olumsuz yönde etkileyebilir. Bu nedenle, WHERE koşullarının kullanımında dikkatli olunması gerekmektedir.

Sonuç olarak, WHERE koşullarının kullanımı sayesinde verileri belirli bir şarta bağlı olarak filtreleyerek okumak oldukça kolaydır. Java programlama dili kullanarak MySQL veritabanındaki verilerdeki filtreleme işlemlerini kolaylıkla gerçekleştirebilir ve programınızın performansını arttırabilirsiniz.


JOIN İşlemi

Birden fazla tabloyu birleştirerek verileri okumak istediğinizde JOIN komutunu kullanabilirsiniz. Bu komut, tercih edilen bir veya daha fazla tablonun sütunlarını seçerek entegre etmeyi sağlar.

JOIN işlemi, veritabanınızda ayrıntılı bir bilgi gerektirir. İstediğiniz sonuçları elde etmek için JOIN türlerini ve tablolar arasındaki ilişki türlerini doğru bir şekilde belirlemeniz gerekir.

İki tabloyu JOIN komutuyla birleştirmek istediğinizde, bu tablolarda ortak bir sütun özelliği olan bir anahtar belirlemeniz gerekir. Bu anahtar sayesinde, farklı tablolardan gelen verileri birleştirebilirsiniz.

Örneğin, bir satış veritabanınız varsa, siparişler ve müşteri tablolarını birleştirmek isteyebilirsiniz. Siparişler tablosunda müşteri numarası bulunurken, müşteri tablosunda da bu numara bulunur. Bir JOIN işlemi kullanarak bu iki tabloyu müşteri numarası sütununa göre birleştirebilirsiniz.

Siparişler Tablosu Müşteri Tablosu
1 123 2022-01-01 500
2 456 2022-01-02 1000
3 789 2022-01-03 2000
  • Bu örnekte, siparişler tablosuna müşteri tablosu JOIN edilecektir.
  • JOIN işlemi, siparişler tablosundaki her satırın müşteri tablosundaki etkili sütunlarıyla birleştirilmesini sağlar.
  • JOIN işlemi kullanıldığında her iki tablodaki veriler de birleştirilerek tek bir sonuç seti oluşturulur.

Procedure Call Komutu

Veritabanında oluşturulan işlemler ve sorgular, genellikle kullanıcı tarafından doğrudan çalıştırılır. Bununla birlikte bazı durumlarda, bir işlemi doğrudan kullanıcı tarafından çalıştırmak yerine, işlemi, bir prosedürü çağırarak çalıştırmak daha güvenli olabilir. Bu işleme prosedür çağırma yani procedure call komutu denir.

Java programlama dili kullanılarak MySQL veritabanındaki verileri okuma işlemleri için de benzer şekilde, procedure call komutu kullanılabilir. Veritabanındaki işlemleri çalıştıran bu yöntem, direkt sorgu göndermek yerine bir prosedür çağırmayı tercih eder.

Procedure call komutu kullanarak verilerin nasıl okunacağına dair örnekler oluşturarak bu işlemi daha iyi anlayabiliriz. Örneğin, bir veritabanında kayıtlı olan bir kullanıcının bilgilerinin çekilmesi için, öncelikle prosedür çağırmak gerekiyor. Bu işlem için öncelikle prosedür tanımlanmalı, ardından Java kodları içinde bu prosedür çağrılacak.

Bu işlemi gerçekleştirmek için öncelikle CallableStatement arayüzünün kullanılması gerekiyor. Ardından Connection objesi oluşturulmalı ve veritabanı ile bağlantı kurulmalı. Daha sonra prosedürün adı belirtilmeli ve procedure call çalıştırılabilir. Bu işlem sırasında kullanıcı tarafında herhangi bir veri girişi yapılmasına gerek yoktur.

Procedure call komutu kullanarak verilerin okunması işlemi oldukça güvenilir ve veri kaybını önleyici bir yöntemdir. Veri sızıntısının veya kaybının önüne geçilir ve prosedür çağırdığımızda gerekli işlemler hızlıca gerçekleştirilir. Bu nedenle, uygun durumlarda procedure call komutu kullanımı oldukça önemlidir.


Verileri Yazma

MySQL veritabanı ile Java programlama dili kullanarak verilerin okunmasını öğrendik. Şimdi de verileri nasıl yazabileceğimizi ele alacağız. Bu işlem için INSERT, UPDATE ve DELETE komutlarını kullanabiliriz.

Veritabanına yeni bir kayıt eklemek için INSERT komutu kullanılır. Örneğin, yeni bir kullanıcı eklemek için aşağıdaki gibi bir sorgu kullanılabilir:

Özellik Açıklama
Komut INSERT INTO kullanicilar (kullanici_adi, parola) VALUES ('johndoe', 'sifre123')
Açıklama kullanicilar tablosuna kullanıcı adı 'johndoe' ve parolası 'sifre123' olan bir kullanıcı eklenecektir.

INSERT komutu kullanırken dikkat edilmesi gereken nokta, her bir veri için bir değer belirtilmesidir. Eğer tablodaki tüm sütunlara ekleme yapılacaksa, sütun isimleri belirtilmeyebilir. Ayrıca, VALUES ifadesindeki değerler sırasıyla sütunlarla eşleşmelidir.

PreparedStatement, INSERT işleminde kullanılabilecek bir Java JDBC sınıfıdır. Bu sınıf, SQL sorgusunda değişkenler kullanarak dinamik bir şekilde parametreler tanımlamanızı sağlar. Böylece farklı kayıtlar eklemek için aynı sorgu kullanılabilir. Örneğin:

Özellik Açıklama
Komut PreparedStatement stmt = conn.prepareStatement("INSERT INTO kullanicilar(kullanici_adi, parola) VALUES (?, ?)"); stmt.setString(1, "johndoe"); stmt.setString(2, "sifre123"); stmt.executeUpdate();
Açıklama '?' sembolü, yer tutucu olarak kullanılır. setString() metodu, sırayla ? sembollerine karşılık gelen parametreleri alır. executeUpdate() metodu, SQL sorgusunu yürütür ve veritabanında değişiklikleri uygular.

Var olan bir kaydı güncellemek için UPDATE komutu kullanılır. Örneğin, bir kullanıcının parolasını değiştirmek istediğimizde aşağıdaki sorguyu kullanabiliriz:

Özellik Açıklama
Komut UPDATE kullanicilar SET parola = 'yeni_sifre123' WHERE kullanici_adi = 'johndoe'
Açıklama kullanicilar tablosundaki kullanıcı adı 'johndoe' olan kullanıcının parolası 'yeni_sifre123' olarak değiştirilecektir.

Var olan bir kaydı silmek için DELETE komutu kullanılır. Örneğin, bir kullanıcının kaydını silmek istediğimizde aşağıdaki sorguyu kullanabiliriz:

Özellik Açıklama
Komut DELETE FROM kullanicilar WHERE kullanici_adi = 'johndoe'
Açıklama kullanicilar tablosundaki kullanıcı adı 'johndoe' olan kullanıcının kaydı silinecektir.

Verileri yazma işlemleri de verileri okuma işlemleri kadar önemlidir. Bu komutların doğru kullanımı, veritabanınızın doğru şekilde yönetilmesine yardımcı olacaktır. Yiihaa! Şimdi Java programlama dili kullanarak MySQL veritabanındaki verileri hem okuma hem de yazma işlemlerini gerçekleştirebilirsiniz.


INSERT Komutu

Java programlama dili sayesinde, MySQL veritabanına veri kaydedebilirsiniz. Bunun için INSERT komutu kullanılır. Bu komut, tablodaki kayıtlara yeni kayıtlar eklemek için kullanılır. INSERT INTO komutu, tablonun adını, kayıt eklemek istediğiniz sütunların adlarını ve kaydedilecek değerleri içerir.

Örnek olarak, bir personel tablosuna yeni bir çalışan eklemek istediğinizi düşünelim. Aşağıdaki INSERT INTO komutunu kullanabilirsiniz:

Çalışan ID Adı Soyadı Doğum Tarihi
101 Ahmet Yılmaz 1990-05-21

Yukarıdaki örnekte, personel tablosundaki her sütun için bir değer sağlandı. SELECT komutu gibi, INSERT INTO da WHERE koşullarını kullanarak eklenen kayıtlara dair filtreleme yapabilirsiniz.

INSERT INTO komutu güçlü bir araçtır, ancak sütun adları ve değerlerin sayısı doğru şekilde eşleştirilmelidir. Aksi halde, yanlış bir sütuna veri ekleyebilirsiniz. Böyle bir durumda, tablo yapılandırmasını bozabilirsiniz. Bu nedenle, dikkatlice düşünmeden önce veri eklemeden önce en doğru yapının belirlenmesi gerekir.


Prepared Statement

PreparedStatement nesnesi, verilerin MySQL veritabanına güvenli bir şekilde yazılmasını sağlar. Bu nesne, SQL sorgularındaki değişken değerlerini belirleyen Java sınıfıdır. PreparedStatement kullanırken ilk adım, SQL sorgusunun tanımlanmasıdır. Örneğin, belirli bir tabloya veri ekleme sorgusu şöyle tanımlanabilir:

String sql = "INSERT INTO employees (id, name, age) VALUES (?, ?, ?)";

Bu sorgu, "employees" tablosuna "id", "name" ve "age" sütunlarına sırasıyla "?" olarak belirtilen verileri ekler.

Daha sonra, PreparedStatement nesnesi oluşturulur. PreparedStatement oluştururken tanımlanan SQL sorgusu kullanılır.

PreparedStatement preparedStatement = connection.prepareStatement(sql);

PreparedStatement nesnesi oluşturulduktan sonra, değişken değerleri belirlenir ve sorgu çalıştırılır. "?" karakterleri, setString(), setInt(), setDouble() vb. gibi PreparedStatement metotları kullanılarak belirlenir. Örneğin, "id" sütununa integer bir değer yazmak için setInt() metodu kullanılır:

preparedStatement.setInt(1, 101);

Veri tipi ne olursa olsun, değişken değerleri belirlemek için setString(), setInt(), setDouble() vb. PreparedStatement metotları kullanılabilir.

Son olarak, PreparedStatement nesnesinde belirlenen değişken değerleri, veritabanına yazmak için execute() metodu kullanılır:

preparedStatement.execute();

Bu sayede, veriler güvenli bir şekilde yazılır ve SQL enjeksiyon saldırılarına karşı korunulur.

Özetle, PreparedStatement nesnesi kullanarak, verilerin MySQL veritabanına güvenli bir şekilde yazılması sağlanmaktadır. Bu yöntem, SQL enjeksiyon saldırılarına karşı önlem alınmasını sağlar ve veri kaybı riskini azaltır.


UPDATE Komutu

UPDATE komutu, MySQL veritabanındaki verileri güncellemek için kullanılır. Bir tabloya kaydedilen bilgileri değiştirmek istediğinizde bu komutu kullanabilirsiniz. Bu komutu kullanarak verileri kolayca güncelleyebileceğiniz için işlemi hızlandırabilir ve veritabanındaki bilgileri güncel tutabilirsiniz.

UPDATE komutu, bir veya birden fazla kolondaki verileri güncellemek için kullanılabilir. Güncellenen verilerin yerine hangi yeni verilerin geleceğini belirlemeniz gerekmektedir. Bunun için SET kelimesini kullanarak hangi kolonun güncelleneceğini ve yerine hangi verilerin ekleneceğini belirtmelisiniz.

Örneğin, "students" adında bir tablonuz var ve "name" ve "age" gibi iki kolon var. Eğer bir öğrencinin yaşını güncellemek istiyorsanız, aşağıdaki sorguyu kullanabilirsiniz:

UPDATE students
SET age = 20
WHERE name = 'John'

Bu sorgu, "students" tablosundaki "name" kolonu 'John' olan öğrencinin "age" kolonunu 20 olarak güncelleyecektir.

Ayrıca, UPDATE komutunu kullanarak WHERE koşulu olmadan tüm kayıtların bir değerini değiştirebilirsiniz. Ancak, dikkatli olun ve tüm kayıtların değiştirilmesi gerekip gerekmediğini düşünün. Aksi takdirde, verilerinizde istemeden büyük bir değişiklik yapabilirisiniz.

UPDATE komutu, diğer SQL komutları gibi hazır bir şekilde kullanılabileceği gibi, PreparedStatement özelliği kullanılarak da kullanılabilir. PreparedStatement'ın kullanılması biraz daha zaman alır, ancak SQL enjeksiyon tehlikesine karşı daha iyi bir koruma sağlar.


DELETE Komutu

Java kullanarak MySQL'deki verileri silmek için DELETE komutunu kullanabilirsiniz. DELETE komutu verileri kalıcı olarak siler, bu nedenle dikkatli kullanılmalıdır. İşlemi geri almak mümkün değildir.

DELETE komutu kullanırken WHERE koşulları da kullanabilirsiniz. Bu koşullar verileri filtrelemek için kullanılır ve belirtilen koşulları karşılayan veriler silinir. Kullanımı aşağıdaki örnekte verilebilir:

Örnek Açıklama
DELETE FROM customers WHERE customer_id=1; customers tablosundaki customer_id'si 1 olan müşteriyi siler.
DELETE FROM orders WHERE order_date < '2022-01-01'; orders tablosundaki order_date'i 2022-01-01'den önce olan tüm siparişleri siler.

Tablolar arasında ilişki varsa, JOIN komutu kullanarak silme işlemini gerçekleştirmeniz gerekebilir. İlişkili tablolarda silme işlemini gerçekleştirirken dikkatli olmak gerekir, çünkü bu işlem yanlış kullanıldığında birçok verinin silinmesine neden olabilir.

Silinecek verileri belirledikten sonra, DELETE komutunu kullanarak verileri silmek için hazırsınız. Daha fazla bilgi için MySQL resmi belgelerine bakabilirsiniz.