ddodoi 님의 블로그
5주차-파트05: Workbench(GUI)로 데이터베이스 다루기, Timezone 본문
CHAPTER 1. Workbench와 db연결
https://www.npmjs.com/package/mysql2?activeTab=readme
링크의 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
시간이 전보다 깔끔하게 출력된다.
'웹풀스택 일일정리' 카테고리의 다른 글
6주차-파트02: 유효성 검사 (0) | 2024.09.26 |
---|---|
6주차-파트01: DB 모듈화, DB모듈을 이용해 기존 코드 수정 및 리팩토링, 단축 평가 (0) | 2024.09.24 |
5주차-파트04: CLI로 데이터베이스 관리, ALTER, JOIN (0) | 2024.09.14 |
5주차-파트03: DBMS, SQL, DB에서의 연관관계 (1) | 2024.09.12 |
5주차-파트02: 라우팅, vs code에서 변수명 한번에 바꾸기 (0) | 2024.09.10 |