백앤드(Back-End)/Node.JS

[Node.js] Sequelize CRUD 사용법

RyanSin 2021. 2. 12. 20:13
반응형

- 지난 시간

안녕하세요. 지난 시간에는 모델간에 관계를 정의하는 법에 대해 알아봤습니다.

 

혹시 놓치고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드립니다.

any-ting.tistory.com/50

 

[Node.js] Sequelize 모델 정의 및 옵션 설정

- 지난 시간 안녕하세요. 지난 시간에는 Sequelize를 설치하고 DB와 간단한 Users Table(모델)을 만들어서 확인해 봤습니다. 혹시 놓치고 오신 분들은 아래 링크를 통해 진행하고 오시는 걸 추천드리겠

any-ting.tistory.com

 

- 개요

이번 시간에는 Sequelize에서 CRUD에 대해 알아보겠습니다,

기본적으로 시퀄라이즈를 사용하시는 분들은 기본적으로 SQL 언어에 대한 개념이 있다고 생각을 하고 진행하겠습니다.

 

1. Creacte (생성)

시퀄 라이즈에서 데이터를 생성하는 방법은 create 메서드를 사용합니다.

 

EX) 유저 생성

function create(){

    Users.create({
        email: "ryan@gmail.com",
        password: "123456",
        name: "Ryan",
        phone: "010-0000-0000"
    })
    .then((result) => {
        console.log("저장 성공: ", result);
    })
    .catch((err) => {
        console.log("저장 Error: ", err);
    });
    
}

create();

 

실행 결과

 

2. Read (조회)

시퀄 라이즈에서 데이터를 조회하는 방법은 findOne(단일), findAll(전체)... 등등 여러가지 API를 지원합니다.

 

function Read(){

    //단일 조회
    Users.findOne({})
    .then((result) => {
        console.log("조회 성공: ", result);
    })
    .catch((err) => {
        console.log("조회 Error: ", err);
    })

    //전체 조회
    Users.findAll({attributes: ['id']})
    .then((result) => {
        console.log("조회 성공: ", result);
    })
    .catch((err) => {
        console.log("조회 Error: ", err);
    })

}

Read();

 

attributes는 특정 컬럼을 조회할 때 사용됩니다.

 

findOne 단일조회

 

findAll 전체 데이터에 id만 조회

 

3. Update (수정)

시퀄 라이즈에서 데이터를 수정하는 방법은 update 메서드를 사용합니다.

function Update(){
    
    Users.update({name: "Ryans"}, {where: {}})
    .then((result) => {
        console.log("수정 성공: ", result);
    })
    .catch((err) => {
        console.log("수정 Error: ", err);
    })

}

Update();

수정시 꼭 where 조건을 설정해줘야 합니다. 조건이 없다면 빈 값(중괄호)으로 설정하면 됩니다.

where은 우리가 생각하는 SQL언어에 where이 맞습니다.

 

4. Delete (삭제)

시퀄 라이즈에서 데이터를 삭제하는 방법은 destory 메서드를 사용합니다.

function Destory(){
    
    Users.destroy({where: {name: "Ryans"}})
    .then((result) => {
        console.log("삭제 성공: ", result);
    })
    .catch((err) => {
        console.log("삭제 Error: ", err);
    })

}

Destory();

 

수정과 삭제 같은 경우 성공 시 몇개를 삭제했는지 카운터 값을 반환합니다(자료형은 배열)

 

이번 시간에는 간단한 CRUD에 대해 알아봤습니다. 감사합니다. :)