Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ddodoi 님의 블로그

5주차-파트05: Workbench(GUI)로 데이터베이스 다루기, Timezone 본문

웹풀스택 일일정리

5주차-파트05: Workbench(GUI)로 데이터베이스 다루기, Timezone

ddodoi 2024. 9. 15. 23:08

CHAPTER 1. Workbench와 db연결

https://www.npmjs.com/package/mysql2?activeTab=readme

 

mysql2

fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS. Latest version: 3.11.3, last published: 10 days ago. Start using mysql2 in your project by running `npm i mysql2`. There are 4891 other projects in the npm

www.npmjs.com

링크의 npm을 vscode터미널에 설치해주자.

 

 

새로운 파일을 만든 후 아래 예시 코드를 입력해주면 workbench에서 만들었던 users테이블 속 값들이 출력되는것을 확인할 수 있다.

const mysql = require('mysql2');

// create the connection to database
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password : 'root',
  database: 'Youtube',
});

connection.query(

    'SELECT * FROM `users`',
    function (err, results, fields) {
      let {id,email,name}=results[0]

      console.log(id)
      console.log(email)
      console.log(name)

      
      console.log(fields); // fields are unchanged
    }
  );

 

 

 

 

 

CHAPTER 2. Workbench 실습

 

 

 

foreign key로 연결해준 모습

 

 

 

user테이블에 created_at 칼럼을 추가하여 default값으로 현재 시간이 넣어지도록 하였다.

CURRENT_TIMESTAMP대신 NOW를 써도 같은 결과가 나온다.

 

 

 

 

CHAPTER 3. Timezone 설정

 

 

다음은 users테이블의 인덱스1번 행의 데이터이다. 

 

 

 

다음은 vscode에서 해당 인덱스 값을 출력한 것이다.

 

 

같은 행을 출력한건데 자세히 보면 created_at 시간이 다른것을 알 수 있다. Workbench에서는 UTC 시간이라는 세계 협정시의 시간을 쓰고 있다.

 

 

 

하나의 스키마가 아닌 전체 스키마에 대한 데이터베이스의 timezone을 셋팅해보자.

SET GLOBAL time_zone = 'Asia/Seoul'

 

 

다시 vscode로 출력시 workbench테이블의 시간대와 같아진것을 확인할 수 있다.

 

 

 

 

 

다음 명령어로 timezone이 잘 적용되었는지 확인 할 수 있다.

@@global.time_zone은 전체 스키마를, @@session.time_zone은 현재 열려있는 세션을 의미한다.

SELECT @@global.time_zone, @@session.time_zone;

 

 

global로만 time_zone이 적용되었다.

 

 

 

아래 명령어로 현재 세션에도 time_zone을 적용시켜보자.

SET time_zone = 'Asia/Seoul';

 

 

 

 

다시 확인해보면 둘다 잘 적용된것을 확인할수있다.

 

 

 

 


 

시간을 좀 더 깔끔하게 출력해보자. 기존 vs code에 dateStrings : true를 추가해준다.

dateStrings : true

 

 

시간이 전보다 깔끔하게 출력된다.