Node.js - MySQL 데이터베이스 생성
안녕하세요, 야심찬 프로그래머 여러분! 오늘 우리는 Node.js와 MySQL의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 Node.js와 MySQL을 사용하여 데이터베이스를 생성하는 과정을 안내해 드리겠습니다. 프로그래밍에 처음이라면 걱정하지 마세요 - 우리는 단계별로 진행하겠고, 얼마 지나지 않아 프로처럼 데이터베이스를 생성할 수 있을 것입니다!
Node.js와 MySQL은 무엇인가요?
자, 구체적인 내용에 들어가기 전에 잠시 Node.js와 MySQL에 대해 설명해 보겠습니다:
- Node.js: 이는 컴퓨터에서 JavaScript를 실행할 수 있게 해주는 강력한 JavaScript 런타임입니다. 웹 브라우저에서만 실행되는 것이 아니라입니다.
- MySQL: 이는 데이터를 저장하고 관리하는 인기 있는 데이터베이스 관리 시스템입니다.
이 둘을 함께 사용하면 강력한 웹 애플리케이션을 구축하는 데 큰 도움이 됩니다!
환경 설정
먼저, Node.js와 MySQL 모듈이 설치되어 있는지 확인해야 합니다. 아직 설치하지 않았다면, 공식 웹사이트에서 Node.js를 설치한 후 터미널이나 명령 프롬프트를 열고 다음 명령어를 실행하세요:
npm install mysql
이 명령어는 Node.js에서 MySQL 모듈을 설치합니다. 이 모듈을 사용하여 MySQL 데이터베이스에 연결할 것입니다.
MySQL에 연결하기
이제 모든 준비가 끝났으니, MySQL에 연결을 만들어 보겠습니다. 간단한 예제를 보여드리겠습니다:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password'
});
connection.connect((err) => {
if (err) throw err;
console.log('MySQL 서버에 연결되었습니다!');
});
이를 해부해 보면 다음과 같습니다:
- MySQL 모듈을 요청합니다.
-
mysql.createConnection()
을 사용하여 연결을 만들어, MySQL 서버 정보를 제공합니다. -
connect()
메서드를 사용하여 연결을 설정합니다. - 오류가 발생하면 던집니다. 그렇지 않으면 성공 메시지를 로그합니다.
데이터베이스 생성하기
이제 본격적인 내용으로 넘어가겠습니다 - 데이터베이스 생성! 기본 문법을 보여드리겠습니다:
connection.query('CREATE DATABASE mydb', (err, result) => {
if (err) throw err;
console.log('데이터베이스가 생성되었습니다.');
});
이 코드 조각은 query()
메서드를 사용하여 SQL 명령어를 실행하여 'mydb'라는 새로운 데이터베이스를 생성합니다.
예제: 학교 데이터베이스 생성하기
보다 실질적인 예제를 만들어 보겠습니다. 가정하시죠, 우리는 학교 시스템을 구축하고 있으며 학생과 과목에 대한 정보를 저장할 데이터베이스가 필요합니다.
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password'
});
connection.connect((err) => {
if (err) throw err;
console.log('MySQL 서버에 연결되었습니다!');
connection.query('CREATE DATABASE school_db', (err, result) => {
if (err) throw err;
console.log('School 데이터베이스가 생성되었습니다!');
// 새로운 데이터베이스 사용
connection.query('USE school_db', (err, result) => {
if (err) throw err;
console.log('school_db를 사용 중입니다.');
// 테이블 생성
const createStudentsTable = `
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
grade VARCHAR(2)
)
`;
connection.query(createStudentsTable, (err, result) => {
if (err) throw err;
console.log('Students 테이블이 생성되었습니다!');
});
const createCoursesTable = `
CREATE TABLE courses (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
instructor VARCHAR(100)
)
`;
connection.query(createCoursesTable, (err, result) => {
if (err) throw err;
console.log('Courses 테이블이 생성되었습니다!');
});
});
});
});
이 예제는 다음과 같은 작업을 수행합니다:
- MySQL에 연결합니다.
- 'school_db'라는 새로운 데이터베이스를 생성합니다.
- 새로운 데이터베이스를 사용합니다.
- 'students'와 'courses' 테이블을 생성합니다.
각 단계는 query()
메서드를 사용하여 SQL 명령어를 실행합니다.
con.query() 메서드
query()
메서드는 우리의 Node.js MySQL 작업의 핵심입니다. SQL 쿼리와 명령어를 실행하는 데 사용됩니다. 문법을 설명해 보겠습니다:
connection.query(sqlCommand, [values], callback)
-
sqlCommand
: 실행하고 싶은 SQL 명령어를 포함하는 문자열입니다. -
values
(선택 사항): SQL 명령어에 삽입할 값을 포함하는 배열입니다 (SQL 인젝션을 방지하는 데 유용합니다). -
callback
: 쿼리가 완료될 때 호출되는 함수입니다. 세 가지 매개변수를 받습니다: -
err
: 쿼리 중 발생한 오류입니다. -
result
: 쿼리 결과입니다. -
fields
: 반환된 필드에 대한 정보입니다.
다음 표는 query()
와 함께 사용할 수 있는 일반 MySQL 명령어를 요약합니다:
명령어 | 설명 | 예제 |
---|---|---|
CREATE DATABASE | 새로운 데이터베이스 생성 | CREATE DATABASE mydb |
USE | 사용할 데이터베이스 선택 | USE mydb |
CREATE TABLE | 새로운 테이블 생성 | CREATE TABLE users (id INT, name VARCHAR(100)) |
INSERT INTO | 테이블에 새로운 데이터 삽입 | INSERT INTO users (id, name) VALUES (1, 'John') |
SELECT | 테이블에서 데이터 검색 | SELECT * FROM users |
UPDATE | 테이블에서 기존 데이터 수정 | UPDATE users SET name = 'Jane' WHERE id = 1 |
DELETE | 테이블에서 데이터 삭제 | DELETE FROM users WHERE id = 1 |
DROP TABLE | 테이블 삭제 | DROP TABLE users |
DROP DATABASE | 데이터베이스 삭제 | DROP DATABASE mydb |
결론
이제 여러분은 Node.js와 MySQL을 사용하여 데이터베이스를 생성하는 기본을 다녀왔습니다. 연습이 완벽을 이루는 길입니다. 다양한 명령어를 실험하고 자신의 데이터베이스를 만들어 보세요.
저의 경험에 따르면, 실제로 만들어 보는 것이 가장 중요하다는 것을 알게 되었습니다. 그러므로 여러분의 취미에 맞는 데이터베이스를 만들어 보세요. 요리 레시피 모음, 본인이 본 영화 목록, 또는 애완 돌 수집 목록 등, 무한한 가능성이 있습니다!
기억해 두세요, 모든 마스터 프로그래머는 초보자로 시작했습니다. 계속 코딩하고, 학습하고, 가장 중요한 것은 즐기세요! 다음 시간까지, 행복한 데이터베이스 생성을 기원합니다!
Credits: Image by storyset