Giriş
Node.js, JavaScript tabanlı bir sunucu ortamıdır ve yüksek performans gerektiren uygulamaların geliştirilmesine olanak tanır. MySQL ise, dünya genelinde en yaygın kullanılan ilişkisel veritabanlarından biridir. Node.js ile MySQL’in entegrasyonu, dinamik ve veri odaklı web uygulamaları için sıklıkla tercih edilen bir yaklaşımdır. Bu entegrasyon, geliştiricilere veritabanı işlemlerini kolaylaştıran birçok araç ve kütüphane sunar. En yaygın kullanılan yöntem, Node.js için diseñ edilmiş MySQL Connector’ün kullanımıdır.
MySQL Connector’ün Kurulumu
MySQL ile Node.js arasında bir bağlantı kurmak için ilk adım, MySQL Connector/Node.js paketini yüklemektir. Bu işlem için npm (Node Package Manager) kullanılabilir. Terminal veya komut istemcisi açılarak, aşağıdaki komut çalıştırılmalıdır:
“`
npm install mysql
“`
Bu komut, MySQL Connector’ü projenin bağımlılıkları arasına ekler ve gerekli dosyaları indirir.
Bağlantı Oluşturma
MySQL veritabanı ile bağlantı kurmak için bir bağlantı nesnesi oluşturulması gerekmektedir. Bunun için, `mysql` modülü içe aktarılmalı ve bağlantı bilgileri tanımlanmalıdır. Aşağıdaki örnek, bu adımları içermektedir:
“`javascript
const mysql = require(‘mysql’);
const connection = mysql.createConnection({
host: ‘localhost’,
user: ‘kullanici_adi’,
password: ‘sifre’,
database: ‘veritabani_adi’
});
“`
Bu kod parçasında, `host`, `user`, `password` ve `database` alanları, veritabanı sunucusuna özel bilgileri içermelidir.
Bağlantının Kontrolü
Oluşturulan bağlantının sağlıklı bir şekilde kurulduğundan emin olmak için `connect` metodu kullanılabilir. Bu metod, bağlantı sürecinin sonucunu kontrol ederek herhangi bir hata durumunda bilgi verir.
“`javascript
connection.connect((err) => {
if (err) {
console.error(‘Bağlantı hatası: ‘ + err.stack);
return;
}
console.log(‘Bağlantı başarılı, ID: ‘ + connection.threadId);
});
“`
Veri Sorgulama
MySQL ile bağlantı kurduktan sonra, veritabanından veri sorgulamak mümkündür. `query` metodu, SQL sorgularını yürütmek için kullanılır. Örnek bir sorgulama aşağıda yer almaktadır:
“`javascript
connection.query(‘SELECT FROM tabloadi’, (error, results, fields) => {
if (error) throw error;
console.log(results);
});
“`
Bu örnekte, `tabloadi` adındaki bir tablodan tüm veriler çekilmektedir. `results` değişkeni, sorgunun sonucunu tutar ve daha sonra konsola yazdırılabilir.
Veri Ekleme
Yeni verilerin veritabanına eklenmesi için de `query` metodu kullanılabilir. Aşağıda bir `INSERT` sorgusu yer almaktadır:
“`javascript
const yeniVeri = { isim: ‘Yeni Kayıt’, yas: 30 };
connection.query(‘INSERT INTO tabloadi SET ?’, yeniVeri, (error, results, fields) => {
if (error) throw error;
console.log(‘Yeni kayıt eklendi, ID: ‘ + results.insertId);
});
“`
Bu örnekte, `yeniVeri` nesnesinin içeriği, belirtilen tabloya eklenmektedir.
Veri Güncelleme
Mevcut verilerin güncellenmesi de benzer bir yöntemle yapılabilir. `UPDATE` sorgusu aşağıda gösterilmektedir:
“`javascript
connection.query(‘UPDATE tabloadi SET yas = ? WHERE isim = ?’, [31, ‘Yeni Kayıt’], (error, results, fields) => {
if (error) throw error;
console.log(‘Güncelleme işlemi gerçekleştirildi, etkilenebilecek kayıt sayısı: ‘ + results.affectedRows);
});
“`
Bu örnekte, ismi ‘Yeni Kayıt’ olan kişinin yaşı 31 olarak güncellenmektedir.
Veri Silme
Veri silme işlemi için `DELETE` sorgusu kullanılmaktadır. Örnek bir silme işlemi şu şekildedir:
“`javascript
connection.query(‘DELETE FROM tabloadi WHERE isim = ?’, [‘Yeni Kayıt’], (error, results, fields) => {
if (error) throw error;
console.log(‘Silme işlemi gerçekleştirildi, etkilenebilecek kayıt sayısı: ‘ + results.affectedRows);
});
“`
Bağlantıyı Kapatma
Uygulama işlemleri tamamlandıktan sonra, bağlantının kapatılması gereklidir. Bu işlem, veri sızıntılarını önlemek açısından önemlidir. Bağlantıyı kapatmak için `end` metodu kullanılabilir:
“`javascript
connection.end((err) => {
if (err) throw err;
console.log(‘Bağlantı kapatıldı.’);
});
“`
Sonuç
Node.js ile MySQL entegrasyonu, geliştiricilere hızlı ve etkili bir veri yönetimi sağlar. `mysql` kütüphanesi üzerinden gerçekleştirilen SQL işlemleri, uygulamanın veri becerilerini geliştirmektedir. Bu entegrasyon, hem veri okuma ve yazma işlemleri hem de veritabanı yönetimi açısından güçlü bir araçtır. Kütüphanenin sunduğu sunduğu yöntemler ile, uygulamanın performansı artırılabilir ve kullanıcı deneyimi geliştirilebilir.