Skip to content

sequelize query

changicho edited this page Nov 29, 2020 · 1 revision

Sequelize를 이용한 ORM 정리

SELECT

Query

SELECT * FROM table_name where id=${id} LIMIT 1;

ORM

await table_name.findOne({
  where: {
    id: id,
  },
});

Return

{
  "id": 1,
  "column1": "column1 TEST",
  "column2": "column2 TEST",
  "createdAt": "2020-05-28T04:08:54.000Z",
  "updatedAt": "2020-05-28T04:37:18.000Z",
  "deletedAt": null
},

Query

SELECT column1, column2 FROM table_name where id=${id};

ORM

await table_name.findAll({
  where: {
    id: id,
  },
  attributes: ["column1", "column2"],
});

Return

{
  [
    "column1": "column1 TEST",
    "column2": "column2 TEST",
  ],
},

INSERT

Query

INSERT INTO table_name ('column1', 'column2') VALUES ('column1 TEST', 'column2 TEST');

ORM

await table_name.create({
  column1: "column1 TEST",
  column2: "column2 TEST",
});

변수명이 column명과 같다면 다음과 같은 코드가 가능하다.

await table_name.create({
  column1,
  column2
});

Return

if (suceess) return 1;
else return 0;

UPDATE

Query

UPDATE table_name SET column1='update co1', column2='update co2' WHERE id=1;

ORM

await table_name.update(
  {
    column1: "update co1",
    column2: "update co2",
  },
  {
    where: {
      id: 1,
    },
  }
);

변수명이 column명과 같다면 다음과 같은 코드가 가능하다.

await FAQ.update(
  {
    column1,
    column2,
  },
  {
    where: {
      id: 1,
    },
  }
);

Return

if (suceess) return 1;
else return 0;

DELETE

Query

DELETE FROM table_name WHERE id=1;

ORM

await table_name.destroy({
  where: {
    id: 1,
  },
});

Return

if(suceess) return 1;
else return 0;

JOIN

Query

SELECT b.column1, b.coulmn2, v.column3, v.coulmn4 FROM table1 as b
  JOIN  table2 as v
  ON b.id = v.id;

ORM

await table1.findAll({
  include: [
    model: table2
      where: {
        id: id
      }
  ]
})

Return

조인된 테이블 결과

Clone this wiki locally