Daha önceki yazılarımızda Node.js ile MySQL veritabanına nasıl bağlandığımızı, bir veritabanı ve tablo nasıl oluşturduğumuzu ve bu tabloya nasıl veri eklediğimizi öğrendik. Şimdi ise tablodan nasıl veri çekeceğimizi öğrenelim.
Tablodan Tüm Verileri Çekme
Veritabanından veri çekmek için, SQL dilinde ‘SELECT‘ ifadesini kullanacağız. İlk önce “blog” tablosundaki tüm verileri çekelim:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT * FROM blog'; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Yukarıdaki kodda, ‘SELECT * FROM blog‘ ifadesiyle ‘blog‘ tablosundaki tüm verileri seçiyoruz. Ardından ‘connection.query‘ fonksiyonuyla bu verileri çekiyoruz ve çıktı olarak konsola yazdırıyoruz.
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
Eğer siz de konsolda aşağıdaki çıktıyı görüyorsanız, Node.js ile MySQL’de tablodan başarılı bir şekilde verilerinizi çektiniz demektir.
Bir önceki yazıyı aşağıdaki linkten okuyabilirsiniz.
Tablodan belirli bir kolonu seçmek için ‘SELECT‘ ifadesini belirli kolon adlarıyla birlikte kullanabiliriz. Örneğin, sadece blog başlıklarını çekmek için aşağıdaki kodu kullanabiliriz:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT title FROM blog'; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Bu kod, ‘blog’ tablosundaki tüm blog başlıklarını çeker ve konsola yazdırır.
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
Eğer siz de konsolda aşağıdaki çıktıyı görüyorsanız işlem tamam demektir.
WHERE ile Filtreleme
MySQL’deki ‘WHERE‘ ifadesi, belirli bir koşulu karşılayan verileri çekmek için kullanılır. Örneğin, başlığı ‘Blog 3‘ olan tüm blog gönderilerini çekmek için aşağıdaki kodu kullanabiliriz:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = "SELECT * FROM blog WHERE title = 'Blog 3'"; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Bu kod, ‘blog’ tablosundaki başlığı ‘Blog 3‘ olan tüm blog gönderilerini çeker ve konsola yazdırır.
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
ORDER BY İle Sıralama
MySQL’deki ‘ORDER BY‘ ifadesi, verileri belirli bir sıraya göre sıralamak için kullanılır. Örneğin, blog gönderilerini başlıkta alfabetik sıraya göre çekmek için aşağıdaki kodu kullanabiliriz:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT * FROM blog ORDER BY title'; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Bu kod, ‘blog‘ tablosundaki tüm blog gönderilerini başlıkta alfabetik sıraya göre çeker ve konsola yazdırır.
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
LIMIT İle Belirli Sayıda Veri Çekme
MySQL’deki ‘LIMIT‘ ifadesi, belirli sayıda veri çekmek için kullanılır. Örneğin, sadece ilk 2 blog gönderisini çekmek için aşağıdaki kodu kullanabiliriz:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT * FROM blog LIMIT 2'; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Bu kod, ‘blog‘ tablosundaki ilk 2 blog gönderisini çeker ve konsola yazdırır.
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
‘WHERE’, ‘ORDER BY’ ve ‘LIMIT’ ifadelerini birleştirerek, daha karmaşık veri sorgulamaları gerçekleştirebilirsiniz. Örneğin, aşağıdaki kod ‘John Doe‘ tarafından yazılan ilk 3 blog gönderisini alfabetik sıraya göre çeker:
index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mehsatek', }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = "SELECT * FROM blog WHERE author = 'John Doe' ORDER BY title LIMIT 3"; connection.query(sql, (err, result, fields) => { if (err) throw err; console.log(result); }); }); |
Konsolda şu komutu yazarak kodumuzu çalıştıralım.
1 2 3 |
node index.js |
İşte bu kadar!
Umarım “Node.js ile MySQL’de Tablodan Veri Çekme” başlıklı yazım sizin için faydalı olmuştur.
Bir sonraki yazımızda, bu verileri nasıl güncelleyeceğimizi öğreneceğiz.
Bir sonraki yazımda görüşmek üzere.
Happy coding!