Database/ORM

· Database/ORM
const query = `SELECT COUNT(*) AS 'count' FROM users WHERE username=${req.body.username}`; users 테이블에서 username이 req.body.username과 일치하는 것을 검색하는 쿼리문을 작성중에 에러가 발생했다. 원인은 username을 VARCHAR 타입으로 생성해놓고 값에 req.body.username을 따옴표로 감싸주지 않았기 때문이다. req.body.username을 따옴표로 감싼 후 에러 해결 const query = `SELECT COUNT(*) AS 'count' FROM users WHERE username='${req.body.username}'`;
· Database/ORM
Sequelize에서 find, create, update, delete로 CRUD 작업을 할 수 있지만 Raw Query로도 할 수 있다. const User = require("../models/user"); const result = await User.findAll({}); 위에 코드는 find를 사용했고 아래 코드는 SQL문으로 사용했다. // Raw Query const { QueryTypes } = require("sequelize"); const { sequelize } = require("../models/index"); const query = `SELECT * FROM users`; const result = await sequelize.query(query, { type: Query..
· Database/ORM
이미 생성된 테이블의 컬럼을 나중에 변경/추가/삭제 할 때 models 안에 있는 파일을 수정한다고 DB에 반영되지 않는다. migration을 통해 변경해야 실제 DB에 반영된다. 그리고 migration 파일을 생성해두면 나중에 롤백할 수도 있다. ✔️ 추가/변경/삭제 내용 작성하기 npx sequelize migration:create --name add-column migrations 폴더 안에 add-column 이라는 파일이 생성된다. 파일을 열어보면 내용은 다음과 같다. "use strict"; module.exports = { async up(queryInterface, Sequelize) { /** * Add altering commands here. * * Example: * await..
· Database/ORM
Sequelize는 DB 작업을 쉽게 할 수 있도록 도와주는 Node.js ORM이다. ORM은 Object-Relational Mapping의 약자로 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구를 말한다. ✔️ 설치 sequelize, sequelize-cli, mysql2, express를 설치 npm install sequelize sequelize-cli mysql2 express sequelize-cli는 sequelize 명령어를 실행하기 위한 라이브러리 mysql2는 MySQL과 연결해주기 위한 드라이버 ✔️ Init npx sequelize init 위에 명령어를 실행하면 config, migrations, models, seeders 폴더가 생성된다. config: DB..
· Database/ORM
📌 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({..
· Database/ORM
📌 시퀄라이즈 시퀄라이즈는 DB작업을 쉽게 할 수 있도록 도와주는 라이브러리이며 ORM(Object Relational Mapping)으로 분류된다. ORM이란 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. MySQL 외에도 MariaDB, MSSQL 등과 같은 다른 RDB와도 호환이 된다. 시퀄라이즈를 사용함으로써 자바스크립트 문법으로 데이터베이스를 쉽게 조작할 수 있다. 📌 시퀄라이즈 설치 npm i express sequelize sequelize-cli mysql2 express, sequelize, sequelize-cli, mysql2을 설치한다. sequelize-cli는 sequelize 명령어를 사용할 수 있게 해주는 패키지이다. mysql2는 Node.j..
choice91
'Database/ORM' 카테고리의 글 목록