일반적으로 Node.js 개발자들 사이에서는 MongoDB 같은 NoSQL 데이터베이스가 더 널리 사용되고 있습니다. 하지만 어떤 DBMS를 선택할지는 전적으로 사용 사례와 개발자의 판단에 따라 달라지며, 결국 프로젝트의 요구 사항이 가장 중요한 기준이 됩니다.
예를 들어, 대량의 데이터를 다루면서 실시간 삽입 작업이 빈번한 경우라면 NoSQL 데이터베이스가 적합합니다. 반면, 복잡한 쿼리와 트랜잭션 처리가 중요한 프로젝트라면 SQL 데이터베이스가 훨씬 더 합리적인 선택입니다.
이 글에서는 Node.js 환경에서 MySQL 데이터베이스에 연결한 뒤, 새로운 테이블을 생성하는 방법을 단계별로 자세히 살펴보겠습니다.
NPM MySQL 모듈 설치하기
애플리케이션과 MySQL 데이터베이스를 연결하기 전에 먼저 개발 환경을 준비해야 합니다. 아래 단계를 순서대로 따라 해 보세요.
1. 프로젝트 폴더 생성 및 이동
원하는 이름으로 새 프로젝트 폴더를 만들고, 해당 디렉터리로 이동합니다.
>> mkdir mysql-test
>> cd mysql-test
2. package.json 파일 생성
다음 명령어를 실행하여 package.json 파일을 생성합니다.
>> npm init -y
명령어를 실행하면 아래와 같은 결과가 출력됩니다.
Wrote to /home/abc/mysql-test/package.json:
{
"name": "mysql-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
3. MySQL 모듈 설치
이제 npm을 통해 MySQL 모듈을 설치합니다.
>> npm install mysql
설치 결과
+ mysql@2.18.1
added 11 packages from 15 contributors and audited 11 packages in 3.264s
found 0 vulnerabilities
Node.js로 MySQL 테이블 생성하기
환경 설정이 완료되었다면, 실제 코드를 작성하여 테이블을 생성할 차례입니다.
app.js라는 이름의 자바스크립트 파일을 생성합니다.
아래 코드 스니펫을 복사하여 붙여넣습니다. 이때
user,password,database값은 본인의 MySQL 계정 정보로 변경해야 합니다.다음 명령어로 파일을 실행합니다.
>> node app.js
예제 코드
// NPM에서 mysql 모듈 불러오기
var mysql = require('mysql');
// MySQL 연결 객체 생성
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
// 데이터베이스 연결 및 테이블 생성
con.connect(function(err) {
if (err) throw err;
console.log("Database connected!");
var sql = "CREATE TABLE students (name VARCHAR(255), address VARCHAR(255))";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table created");
});
});
실행 결과
코드가 정상적으로 실행되면 콘솔에 다음과 같은 메시지가 출력됩니다.
Database connected!
Table created
이처럼 Node.js의 mysql 모듈을 활용하면 간단한 몇 줄의 코드만으로 데이터베이스에 연결하고, SQL 쿼리를 실행하여 원하는 구조의 테이블을 손쉽게 생성할 수 있습니다.