Node.JS

Sequelize Veritabanından Veri Çekme

Herkese merhaba, NodeJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sequelize ile veritabanından veri çekmeyi anlatacağım. Hadi başlayalım !

Sequelize, Node.js’te kullanılan bir ORM (Object-Relational Mapping) kütüphanesidir. Sequelize ile, JavaScript ile veritabanlarına erişim kolaylaştırılmıştır. Sequelize, verileri okuma, ekleme, güncelleme ve silme gibi işlemleri gerçekleştirebilir.

Bu makalede, Sequelize ile veri çekme işlemini nasıl gerçekleştirebileceğinizi anlatacağım. Ayrıca, örnek bir kodda paylaşacağım.

Veri Çekme İşlemi

Veri çekme işlemi, veritabanındaki kayıtları okuma işlemidir. Sequelize ile veri çekme işlemi yapmak için, findAll() veya findOne() metodlarından birini kullanabilirsiniz. findAll() metodu, veritabanındaki tüm kayıtları seçmek için kullanılırken, findOne() metodu sadece bir kayıt seçmek için kullanılır.

findAll() ve findOne() metodları, şu şekilde kullanılır:

model.findAll(options)
model.findOne(options)
  • options: Kayıtları seçmek için kullanılan koşulları içeren nesnedir. Bu parametre bir nesne olarak belirtilir ve aşağıdaki seçenekleri içerebilir:
    • where: Seçilecek kayıtları belirlemek için kullanılan koşulları içerir.
    • attributes: Seçilen alanları belirler.
    • order: Seçilen kayıtların sıralamasını belirler.
    • limit: Seçilen kayıt sayısını belirler.
    • offset: Seçilen kayıtların başlangıç noktasını belirler.

Örnek Kod

Aşağıdaki örnek kodda, Sequelize ile bir “users” tablosunda bulunan tüm kullanıcıları veya belirli bir kullanıcıyı seçmek için findAll() ve findOne() metodlarını kullanıyoruz. Bu kod örneği, findAll() ve findOne() metodlarının nasıl kullanılabileceğini gösterir:

const { Sequelize, DataTypes } = require('sequelize');

// Sequelize ile bir veritabanı bağlantısı oluşturalım
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'
});

// "users" tablosunu tanımlayalım
const User = sequelize.define('User', {
  firstName: {
    type: DataTypes.STRING
  },
  lastName: {
    type: DataTypes.STRING
  }
});

// "users" tablosuna yeni kullanıcılar ekleyelim
await User.bulkCreate([
  { firstName: 'John', lastName: 'Doe' },
  { firstName: 'Jane', lastName: 'Doe' },
  { firstName: 'Bob', lastName: 'Smith' }
]);

// "users" tablosunda bulunan tüm kullanıcıları seçelim
const users = await User.findAll();

// "users" tablosunda bulunan bir kullanıcıyı seçelim
const user = await User.findOne({ where: { firstName: 'John' } });

// Seçilen tüm kullanıcıları konsolda görüntüleyelim
console.log(users);

// Seçilen bir kullanıcıyı konsolda görüntüleyelim
console.log(user);

Yukarıdaki örnek kodda, öncelikle sequelize nesnesiyle bir veritabanı bağlantısı oluşturuyoruz. Daha sonra, User modelimizi tanımlıyoruz ve “users” tablosundaki firstName ve lastName alanlarını içeriyor.

bulkCreate() metodu, “users” tablosuna yeni kullanıcılar eklemek için kullanılır. Bu metodu kullanarak, üç adet kullanıcı ekliyoruz: John Doe, Jane Doe ve Bob Smith.

findAll() metodu, “users” tablosundaki tüm kullanıcıları seçmek için kullanılır. Bu metodu kullanarak, tüm kullanıcıları users değişkenine atıyoruz.

findOne() metodu, “users” tablosundaki bir kullanıcıyı seçmek için kullanılır. Bu metodu kullanarak, “firstName” alanı “John” olan kullanıcıyı seçiyoruz.

Son olarak, seçilen tüm kullanıcıları ve bir kullanıcıyı konsolda görüntülüyoruz.

Sonuç

Bu makalede, Sequelize ile veri çekme işlemini nasıl gerçekleştirebileceğinizi açıkladım. Sequelize, veritabanlarına erişim işlemini kolaylaştıran bir kütüphanedir ve findAll() ve findOne() metodları, veri çekme işlemlerini gerçekleştirmek için kullanılabilir. Bu metodlar, koşullar ve seçeneklerle kullanılabildiği için veri çekme işlemi oldukça esnek ve özelleştirilebilir.

Evet Sequelize ile veritabanından veri çekme işlemi bu şekilde yapılmakta. Tüm NodeJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu