Post

데브코스 TIL - Day 24

23년 12월 20일 강의를 들은 내용과 추가로 학습한 내용을 기록한 글입니다.

GUI로 데이터베이스 사용해보기

mysql 공식문서 - workbench 사용법

사용방법

워크밴치 사용

쿼리문을 사용하려면,

사용할 데이터베이스 더블클릭해서 활성화 시키기

WORKBENCH로 테이블 생성하기

workbrench table 생성

  • tables에 오른쪽 버튼을 클릭하고 create table 버튼을 누르기
  • 속성이름 타입 옵션을 작성하기

Foreign key 등록하기

foreign key 생성2

  • table 하단 탭에 있는 foreign key 버튼 눌러서 FK 등록하기

WORKBENCH로 데이터 추가하기

데이터 생성

만약 channels 테이블에서 데이터를 추가할 때 users 테이블에 없는 id값을 입력하면 foreign key 관련 오류가 발생함!

foreign key 오류

DB 연동하기

  1. mysql패키지 설치
    npm i --save mysql2

  2. 코드 작성하기 db연동

-

  • DB 연동 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// get the client
const mysql = require("mysql2");

// create the connection to database
const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "yotube",
  password: "1234567a",
  dateStrings: true
});

// simple query
connection.query("SELECT * FROM users", function (err, results, fields) {
  const { id, email, name, created_at } = results[0];
  console.log(id, email, name, created_at); // results contains rows returned by server
});

// with placeholder
connection.query(
  "SELECT * FROM `table` WHERE `name` = ? AND `age` > ?",
  ["Page", 45],
  function (err, results) {
    console.log(results);
  }
);

Time zone

TIMESTAMP를 사용하면 UTC ZONE으로 시간이 저장되기때문에 별도로 세팅을 해주어야한다.

  1. SQL 명령어로 시간대 맞추기
1
2
SET GLOBAL time_zone = 'Asia/Seoul';
SET time_zone = 'Asia/Seoul';
  1. time zone 변경 내역 확인하기
1
SELECT @@global.time_zone, @@session.time_zone;

또는

1
2
SET GLOBAL time_zone = '+09:00';
SET time_zone = '+09:00';

오류 발생하면?

ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Seoul'

mysql에 timezone 데이터가 없어서 발생하는 오류.

timezone 데이터를 다운로드 해고, mysql에 적용하면 됨

방법 : [mysql]mysql server timezone 한국으로 설정하기

This post is licensed under CC BY 4.0 by the author.