기억 휘발 방지소

[Node.js / Sequelize] Sequelize에서 CRUD 본문

Database/ORM

[Node.js / Sequelize] Sequelize에서 CRUD

choice91 2021. 10. 7. 20:37
728x90
반응형

📌 Create

Model의 create 메서드를 사용하면 된다.

// Sequelize
await Post.create({
  title: '제목',
  content: '내용',
});
-- SQL
INSERT INTO `posts` (`id`,`title`,`content`) 
VALUES (DEFAULT,'제목','내용');

 

📌 Read

전체검색 (findAll)

findAll 메소드로 전체 다 검색할 수 있다.

// Sequelize
await Post.findAll({});
SELECT *
FROM `posts`;

정렬 (order)

order 옵션으로 정렬도 할 수 있다.

created_at으로 정렬. desc는 내림차순, asc는 오름차순

// Sequelize
await Post.findAll({ order: [["created_at", "desc"]] });
-- SQL
SELECT *
FROM `posts` 
ORDER BY `created_at` DESC;

조회할 레코드 개수 설정 (limit)

// Sequelize
await Post.findAll({
  order: [["created_at", "desc"]],
  limit: 1,
});
-- SQL
SELECT * 
FROM `posts`
ORDER BY `created_at` DESC 
LIMIT 1;

특정 필드만 검색 (attributes)

id와 title만 검색

// Sequelize
await Post.findAll({
  attributes: ["id", "title"]
});
-- SQL
SELECT `id`, `title`
FROM `posts`;

조건부 검색 (where)

title이 '제목!'인 모든 컬럼 검색

// Sequelize
await Post.findAll({
  where: { title: "제목!" },
});
-- SQL
SELECT *
FROM `posts`
WHERE `title` = '제목!';

 

하나만 검색 (findOne)

// Sequelize
await Post.findOne({});
-- SQL
SELECT *
FROM `posts`
LIMIT 1;

 

📌 Update

update 메소드로 수정

// Sequelize
await Post.update({ title: "변경할 제목", content: "변경할 내용" }, { where: { id: 4 } });
-- SQL
UPDATE `posts` 
SET `title`='변경할 제목',`content`='변경할 내용'
WHERE `id` = 4

 

📌 Delete

destroy 메소드로 삭제

// Sequelize
await Post.destroy({
  where: { id: 4 },
});
-- SQL
DELETE FROM `posts` 
WHERE `id` = 4
728x90
반응형