>웹 프론트엔드 >프런트엔드 Q&A >nodejs에서 mysql을 사용하는 방법

nodejs에서 mysql을 사용하는 방법

王林
王林원래의
2023-05-14 10:25:37606검색

Node.js는 고성능 웹 애플리케이션 및 API를 구축하는 데 사용할 수 있는 매우 인기 있는 서버 측 JavaScript 런타임 환경입니다. 다른 서버 측 프로그래밍 언어와 비교하여 Node.js는 MySQL 데이터베이스를 포함한 다양한 타사 라이브러리 및 모듈을 쉽게 통합할 수 있는 강력하고 유연한 개발 플랫폼을 제공합니다. 이 기사에서는 Node.js를 사용하여 MySQL 데이터베이스를 연결하고 운영하는 방법을 살펴보겠습니다.

MySQL은 인기 있는 관계형 데이터베이스 관리 시스템입니다. Node.js에서는 MySQL 데이터베이스를 연결하고 운영하기 위해 다양한 모듈을 사용할 수 있습니다. 여기서는 이를 달성하기 위해 Node.js의 mysql 모듈을 사용할 것입니다.

시작하기 전에 Node.js와 MySQL 데이터베이스를 설치했는지, 데이터베이스와 테이블을 생성했는지 확인하세요. 이 기사에서는 "test"라는 데이터베이스와 "users"라는 테이블을 사용합니다. 이 테이블에는 ID(증분), 이름 및 이메일이라는 세 가지 필드가 있습니다. 다음은 테이블을 생성하는 SQL 명령입니다.

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL
);

mysql 모듈 설치

mysql 모듈을 사용하기 전에 먼저 설치해야 합니다. npm(Node.js 패키지 관리자)을 사용하여 mysql 모듈을 설치할 수 있습니다. 터미널 창을 열고 다음 명령을 실행합니다:

npm install mysql

MySQL 데이터베이스에 연결

다음은 MySQL 데이터베이스에 연결하는 방법에 대한 기본 코드입니다:

const mysql = require('mysql');

const 연결 = mysql.createConnection({
호스트: 'localhost',
사용자: 'root',
비밀번호: 'root',
데이터베이스: 'test'
});

connection.connect((err) => {
if (err) throw err;
console.log('Connected!');
});

이 예에서는 먼저 mysql 모듈을 가져온 다음 mysql.createConnection() 함수를 사용합니다. 연결 개체를 생성합니다. 이를 위해서는 호스트 이름, 사용자 이름, 비밀번호 및 데이터베이스 이름을 포함한 일부 연결 매개변수를 전달해야 합니다.

연결 객체를 생성한 후, Connection.connect() 메서드를 사용하여 MySQL 데이터베이스에 연결할 수 있습니다. 연결에 성공하면 "Connected!"라는 메시지가 출력됩니다. 연결에 실패하면 오류가 발생합니다.

Query MySQL 데이터베이스

MySQL 데이터베이스에 연결한 후 다양한 쿼리 및 작업을 수행할 수 있습니다. 다음은 테이블의 데이터를 쿼리하는 방법에 대한 기본 코드입니다.

const mysql = require('mysql');

const Connection = mysql.createConnection({
호스트: 'localhost',
user: 'root' ,
비밀번호 : 'root',
데이터베이스: 'test'
});

connection.connect((err) => {
if (err) throw err;
console.log('Connected!');

connection .query('SELECT * FROM users', (error, results, fields) => {

if (error) throw error;
console.log(results);

});
});

이 예에서는 Connection.query() 메서드를 사용하여 SQL 쿼리문을 실행합니다. 이 예에서는 사용자 테이블의 모든 데이터를 쿼리하고 결과를 콘솔에 인쇄합니다. 쿼리 결과는 배열 형태로 반환됩니다. 각 행은 각 필드의 값을 포함하는 객체입니다. 예를 들어, 이 예에서는 각 객체에 ID, 이름 및 이메일 속성이 있습니다.

MySQL 데이터베이스에 데이터 삽입

다음은 테이블에 데이터를 삽입하는 방법에 대한 기본 코드입니다:

const mysql = require('mysql');

const Connection = mysql.createConnection({
호스트: 'localhost ' ,
사용자: 'root',
비밀번호: 'root',
데이터베이스: 'test'
});

connection.connect((err) => {
if (err) throw err;
console. log ('Connected!');

const sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@gmail.com')";
Connection.query(sql, (error, result) ) => {

if (error) throw error;
console.log("1 record inserted");

});
});

이 예에서는 SQL INSERT 문을 사용하여 사용자 테이블에 새 레코드를 삽입합니다. Connection.query() 메서드에서는 SQL 문을 첫 번째 매개 변수로 전달한 다음 콜백 함수를 사용하여 응답을 처리합니다.

MySQL 데이터베이스 업데이트

테이블의 데이터를 업데이트하는 방법에 대한 기본 코드는 다음과 같습니다.

const mysql = require('mysql');

const Connection = mysql.createConnection({
호스트: 'localhost',
사용자: 'root',
비밀번호: 'root',
데이터베이스: 'test'
});

connection.connect((err) => {
if (err) throw err;
console.log( '연결됨!');

const sql = "사용자 설정 이메일 업데이트='john.doe@gmail.com' WHERE name='John Doe'";
connection.query(sql, (error, result) => {

if (error) throw error;
console.log(result.affectedRows + " record(s) updated");

});
});

이 예에서는 SQL UPDATE 문을 사용하여 사용자 테이블의 데이터를 업데이트합니다. WHERE 절을 사용하여 업데이트할 행을 지정합니다. Connection.query() 메소드의 콜백 함수에서 영향을 받은 행 수를 출력합니다.

MySQL 데이터베이스에서 데이터 삭제

다음은 테이블에서 데이터를 삭제하는 방법에 대한 기본 코드입니다:

const mysql = require('mysql');

const Connection = mysql.createConnection({
호스트: 'localhost ' ,
사용자: 'root',
비밀번호: 'root',
데이터베이스: 'test'
});

connection.connect((err) => {
if (err) throw err;
console. 로그('연결되었습니다!');

const sql = "DELETE FROM users WHERE name='John Doe'";
connection.query(sql, (error, result) => {

if (error) throw error;
console.log(result.affectedRows + " record(s) deleted");

});
});

在这个例子中,我们使用SQL DELETE语句从users表中删除数据。我们使用WHERE子句来指定要删除的行。在connection.query()方法的回调函数中,我们输出受影响的行数。

总结

在本文中,我们介绍了如何使用Node.js连接和操作MySQL数据库。我们使用Node.js的mysql模块来连接到数据库,执行各种查询和操作。使用这些知识,您可以创建强大和高效的Web应用程序和API,以及进行其他有关MySQL数据库的编程任务。

위 내용은 nodejs에서 mysql을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.