TIL ( prisma 없이 데이터베이스(MySQL) 연결하기 )

2024. 6. 28. 23:06TIL

 

💡JavaScript에서 prisma 없이 데이터베이스 연결하기

 

1. mysql2 설치

- MySQL 데이터베이스에 연결하고 쿼리를 실행하기 위해 mysql2 패키지를 설치합니다.

yarn add mysql2

 

2.테이터베이스 연결 & 쿼리 실행

- mysql2/promise 모듈 사용

import mysql from 'mysql2/promise'
//데이터베이스 연결
async function main() {
 const connection = await mwsql.createConnection({
    host: 'localhost',
    user: '사용자명',
    password: '비밀번호',
    database: '데이터베이스명' 
 });

console.log('연결 성공');
//쿼리실행
try {
    const [rows, fields] = await connection.execute('SELECT * FROM 테이블명');
    console.log(rows);
  } catch (error) {
    console.error('쿼리 실행 실패: ' + error.message);
  } finally {
    await connection.end();
  }
}

 

3. dotenv 패키지 설치

- 데이터베이스 연결정보는 보안을 위해 환경 변수 설정을 해줘야 한다.

- dotenv 패키지 설치

yarn add dotenv

 

- .env 파일 설정

//.env 파일
DB_HOST=localhost
DB_USER=사용자명
DB_PASSWORD=비밀번호
DB_NAME=데이터베이스명

 

- 파일 수정해주기

import mysql from 'mysql2/promise'
import 'dotenv/config'

//데이터베이스 연결
async function main() {
 const connection = await mwsql.createConnection({
    host: process.env.DB_HOST,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_NAME 
 });

console.log('연결 성공');
//쿼리실행
try {
    const [rows, fields] = await connection.execute('SELECT * FROM 테이블명');
    console.log(rows);
  } catch (error) {
    console.error('쿼리 실행 실패: ' + error.message);
  } finally {
    await connection.end();
  }
}

 

 

 

 

 

 

 

 

 

 

'TIL' 카테고리의 다른 글

TIL( TypeScript - Utility type )  (0) 2024.07.02
TIL ( 데코레이터 - ts )  (0) 2024.07.01
TIL( TypeScript학습 )  (0) 2024.06.27
TIL ( TypeScript 학습)  (0) 2024.06.26
TIL ( WebSocket )  (0) 2024.06.25