찾다
웹 프론트엔드프런트엔드 Q&Anodejs에 mysql 패키지를 설치하는 방법

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으로 문의하세요.
Vercel是什么?怎么部署Node服务?Vercel是什么?怎么部署Node服务?May 07, 2022 pm 09:34 PM

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

node.js gm是什么node.js gm是什么Jul 12, 2022 pm 06:28 PM

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

火了!新的JavaScript运行时:Bun,性能完爆Node火了!新的JavaScript运行时:Bun,性能完爆NodeJul 15, 2022 pm 02:03 PM

今天跟大家介绍一个最新开源的 javaScript 运行时:Bun.js。比 Node.js 快三倍,新 JavaScript 运行时 Bun 火了!

nodejs中lts是什么意思nodejs中lts是什么意思Jun 29, 2022 pm 03:30 PM

在nodejs中,lts是长期支持的意思,是“Long Time Support”的缩写;Node有奇数版本和偶数版本两条发布流程线,当一个奇数版本发布后,最近的一个偶数版本会立即进入LTS维护计划,一直持续18个月,在之后会有12个月的延长维护期,lts期间可以支持“bug fix”变更。

聊聊Node.js中的多进程和多线程聊聊Node.js中的多进程和多线程Jul 25, 2022 pm 07:45 PM

大家都知道 Node.js 是单线程的,却不知它也提供了多进(线)程模块来加速处理一些特殊任务,本文便带领大家了解下 Node.js 的多进(线)程,希望对大家有所帮助!

node爬取数据实例:聊聊怎么抓取小说章节node爬取数据实例:聊聊怎么抓取小说章节May 02, 2022 am 10:00 AM

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

深入浅析Nodejs中的net模块深入浅析Nodejs中的net模块Apr 11, 2022 pm 08:40 PM

本篇文章带大家带大家了解一下Nodejs中的net模块,希望对大家有所帮助!

怎么获取Node性能监控指标?获取方法分享怎么获取Node性能监控指标?获取方法分享Apr 19, 2022 pm 09:25 PM

怎么获取Node性能监控指标?本篇文章来和大家聊聊Node性能监控指标获取方法,希望对大家有所帮助!

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.