>웹 프론트엔드 >프런트엔드 Q&A >nodejs에 mysql 패키지를 설치하는 방법

nodejs에 mysql 패키지를 설치하는 방법

青灯夜游
青灯夜游원래의
2021-09-16 11:38:035488검색

npm 도구를 사용하여 nodejs에 mysql 패키지를 설치할 수 있습니다. 구체적인 설치 방법: 1. 터미널을 열고 지정된 프로젝트 디렉터리를 입력합니다. 2. "npm install mysql --save" 명령을 실행하고 다음을 기다립니다. 다운로드 및 설치가 완료됩니다.

nodejs에 mysql 패키지를 설치하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, nodejs 버전 14.15.4, DELL G3 컴퓨터.

mysql 패키지를 설치하고 nodejs를 사용하여 MySQL에 연결하는 방법

먼저 nodejs와 npm을 설치해야 합니다.

간단한 작은 예제를 작성했습니다. 전체 작은 예제는 express 프레임워크를 사용합니다. express 및 ejs 템플릿은 node_modules에 다운로드되었습니다. 먼저 디렉터리를 살펴보겠습니다.

nodejs에 mysql 패키지를 설치하는 방법

server.js =》 node.js 서버 시작 파일

db.js =》 데이터베이스 작업 파일

views =》 모든 페이지가 있는 템플릿 파일을 저장합니다. Stored

public =》 CSS js 이미지 등 모든 정적 리소스가 저장되는 장소입니다.

MySQL에 연결하는 방법:

첫 번째 단계는 MySQL이라는 npm 패키지를 설치하는 것입니다. 공식적으로 제공되며 안정성이 보장됩니다. 물론 다른 npm 패키지도 있습니다. 설치 방법은 매우 간단합니다. npm install mysql --save 명령어를 입력하고 다운로드가 완료될 때까지

기다리면 설치가 성공한 것입니다.

그런 다음 db.js 파일을 열고 데이터베이스 작업에 필요한 몇 가지 코드를 작성합니다. 아래 그림을 참조하세요.

코드는 매우 작으며 첫 번째 단계는 mysql 패키지를 소개하는 것입니다. 그런 다음 빈 개체를 만들고 쿼리라는 메서드를 할당합니다. 이 메서드는 두 개의 매개 변수를 사용하여 데이터를 쿼리할 때 사용되는 SQL 문이고 두 번째 매개 변수는 쿼리 결과를 가져오는 콜백 함수입니다.

함수 내부를 살펴보면, 첫 번째 코드 블록은 mysql 운영을 위한 구성을 설정하는 데 사용됩니다.

host는 mysql 설치 주소를 나타냅니다. 왜냐하면 저는 로컬 데이터베이스가 있기 때문에 localhost를 직접 사용합니다

  • user는 mysql

  • 의 사용자 이름을 나타냅니다.password는 mysql

  • database의 암호를 나타냅니다.

  • port는 포트를 나타내며 공백으로 둘 수 있습니다. 기본값은 3306

mysql입니다. createConnection의 반환 값인 연결은 mysql의 다음 작업을 위한 특정 개체입니다.

연결 성공 여부를 확인하기 위해 연결 메서드를 호출합니다. 실패할 경우 오류 메시지를 인쇄하고 실행을 중지합니다.

SQL 문을 데이터베이스에 직접 전송하기 위해 쿼리 메서드를 호출하고, 콜백 함수를 사용하여 결과를 반환합니다. 첫 번째 매개 변수는 오류 개체입니다. 작업이 실패하면 중지되고 오류 메시지가 인쇄됩니다. 두 번째 매개변수는 반환된 특정 결과입니다. 일반적인 상황에서는 세 번째 매개변수도 설명이 포함된 배열입니다. 현재 데이터가 어느 라이브러리에 속하는지, 해당 테이블이 속하는지 등을 확인할 수 있습니다. 당연히 우리가 가장 많이 사용하는 두 번째 매개변수는 데이터베이스 작업이 완료되면 연결이 끊어지는 문제가 홈페이지에 처음 방문했을 때 발생하는지 모르겠습니다. 데이터베이스 연결은 정상인데, 두 번째 홈페이지 접속 시 데이터베이스 연결이 되지 않고, 연결이 끊겼다는 오류 메시지가 뜹니다. 그 이유는 각 데이터베이스 작업 후에 데이터베이스 연결을 닫았기 때문입니다. 데이터베이스에 다시 액세스하면 연결을 찾을 수 없지만 연결을 닫아야 하는 경우가 있습니다. 홈페이지를 방문할 때마다 접속되는 접속이 매번 생성되는 것은 아닌가요? 예, 단지 처음에 연결을 생성한 코드가 db.query 함수에 배치되지 않고 아래와 같이 외부에 배치되었을 뿐입니다.

이로 인해 연결은 한 번만 생성됩니다. 종료 후에는 두 번째 인터뷰가 연결되지 않습니다. 함수에 배치한 후 내보내기를 사용하여 인터페이스를 외부 세계에 노출합니다. 홈페이지를 방문할 때마다 다시 연결을 만드는 과정을 거치게 되며, 매번 새로운 연결이 생기므로 접속에 문제가 없습니다. 실제로 연결 풀은 프로젝트에서 직접 사용할 수 있습니다. 많은 문제를 해결했습니다.

두 번째 문제는 우리가 server.js에 db.js를 도입했다는 것입니다

이때 mysql.query에 두 개의 매개변수가 있다는 것을 보셨을 것입니다. 첫 번째는 sql이고 두 번째는 콜백 함수입니다. 콜백 함수에는 실제로 데이터베이스 쿼리의 결과인 결과 매개변수가 있습니다. 어떤 사람들은 왜 db.js에서 return을 사용하여 쿼리 결과를 반환하고 콜백을 수행하면 안 되는지 묻습니다.

사실 node.js의 비동기성으로 인해 발생하는 문제는 다음과 같습니다. server.js의 코드를 아래 그림으로 변경하면

mysql 패키지의 쿼리 메소드가 비동기 작업이므로 다음 res.render() 메서드가 결과를 실행하기 전에 쿼리될 때까지 기다리지 않게 됩니다. 결과가 나오기 전에 페이지가 렌더링되지만 데이터를 얻지 못하는 경우가 많습니다. 오류가 보고됩니다. 따라서 콜백 함수를 전달해야 했습니다. mysql 쿼리 메서드가 종료된 후 매개 변수를 통해 직접 작성한 콜백 함수에 결과가 전달되므로 콜백 함수에서 결과를 얻을 수 있습니다. 그런 다음 렌더링을 수행합니다. 물론 이 문제를 해결하기 위해 타사 패키지 async를 도입하여 비동기 문제를 해결할 수도 있습니다. 이는 개인에 따라 다릅니다.

【관련 추천: "Windows 환경에 nodejs를 어떻게 설치하나요? 》】

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

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