250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

231116 TIL) Sequelize, MySQL 연결하기 본문

TIL

231116 TIL) Sequelize, MySQL 연결하기

developer_owen 2023. 11. 16. 23:06
728x90

Sequelize란 ?

 

Sequelize는 Node.js 어플리케이션에서 SQL 데이터베이스를 다루기 위한 ORM(Object-elational Mapping) 라이브러리다. ORM은 객체와 데이터베이스 테이블 간의 매핑을 담당하여 객체 지향적인 방식으로 데이터를 관리할 수 있게 해준다. Sequelize는 MySQL뿐만 아니라 PostgreSQL, SQLite, MSSQL 등 다양한 데이터베이스와 호환됩니다.

 


 

MySQL과의 연결

 

이번 개인과제를 하면서 MYSQL 데이터베이스을 사용하게 됐다. 먼저, Sequelize를 설치하고 MySQL과 연결해야 한다. 설치는 npm install sequelize mysql2 명령어로 수행할 수 있다. 그리고 Sequelize 인스턴스를 만들고 MySQL 데이터베이스에 연결하는 설정을 해야한다.

 

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

const sequelize = new Sequelize('database_name', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql', // 데이터베이스 종류 선택
});

 

 

모델 정의

Sequelize는 모델을 통해 데이터베이스의 테이블을 정의한다. 모델은 데이터베이스 테이블과 일치하는데 이를 통해 데이터를 조작할 수 있다.

 

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

class User extends Model {}

User.init({
  // 모델 속성 정의
  username: {
    type: DataTypes.STRING,
    allowNull: false
  },
  email: {
    type: DataTypes.STRING,
    allowNull: false
  }
}, {
  sequelize, // 연결된 데이터베이스 인스턴스
  modelName: 'user' // 모델 이름
});

 

쿼리 실행

 

모델이 정의되었으면 데이터베이스에서 데이터를 조회, 생성, 수정, 삭제할 수 있다.

 

// 데이터베이스에 새로운 사용자 생성
const newUser = await User.create({ username: 'JohnDoe', email: 'john@example.com' });

// 사용자 조회
const foundUser = await User.findOne({ where: { username: 'JohnDoe' } });

// 사용자 정보 수정
foundUser.email = 'john.doe@example.com';
await foundUser.save();

// 사용자 삭제
await foundUser.destroy();

마무리

 

이렇게 Sequelize를 사용하면 SQL 쿼리를 직접 작성하지 않아도 데이터베이스를 쉽게 다룰 수 있다. 아직 조작법이 미숙해서 코드를 작성해보고 다루면서 익숙해져야 할 것같다.


 

728x90