더북(TheBook)

7.6.4 쿼리 알아보기

시퀄라이즈로 CRUD 작업을 하려면 먼저 시퀄라이즈 쿼리를 알아야 합니다. SQL문을 자바스크립트로 생성하는 것이라 시퀄라이즈만의 방식이 있습니다. 7.5절의 SQL문에 상응하는 옵션들입니다. 쿼리는 프로미스를 반환하므로 then을 붙여 결괏값을 받을 수 있습니다. async/await 문법과 같이 사용할 수도 있습니다.

로우를 생성하는 쿼리부터 알아보겠습니다. 첫 줄이 SQL문이고, 그 아래는 시퀄라이즈 쿼리입니다.

INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '자기소개1');
const { User } = require('../models');
User.create({
  name: 'zero',
  age: 24,
  married: false,
  comment: '자기소개1',
});

models 모듈에서 User 모델을 불러와 create 메서드를 사용하면 됩니다. 앞으로 나오는 모든 메서드는 User 모델을 불러왔다는 전제하에 소개합니다.

한 가지 주의할 점은 데이터를 넣을 때 MySQL의 자료형이 아니라 시퀄라이즈 모델에 정의한 자료형대로 넣어야 한다는 것입니다. 이것이 married0이 아니라 false인 이유입니다. 시퀄라이즈가 알아서 MySQL 자료형으로 바꿉니다. 자료형이나 옵션에 부합하지 않는 데이터를 넣었을 때는 시퀄라이즈가 에러를 발생시킵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.