如何使用Node.js连接数据库
创建数据库
在前面的文章中我们有手把手使用docker创建数据库,这里就直接沿用之前创建的数据库
首先启动docker,把之前的mysql容器运行起来
然后登入mysql客户端查看一下现有的数据库,以及user表
mysql
在前面我们已经使用mysql自带的客户端连接数据库进行一些操作,到了node.js中我们可以用mysql这个npm包来连接mysql数据库,这个包也同样实现了mysql协议
首先安装一下依赖,
pnpm install mysql
复制代码
按照文档配置好连接数据库的参数
const mysql = require('mysql');
const connection = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: 'password',
database: 'jym',
port: '2333',
});
connection.connect();
connection.query('SELECT * FROM Users', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();
复制代码
运行之后出现了下面这个错误,似乎是mysql这个npm包不支持mysql8导致的,具体可以查看这个issue
'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
没办法,只能换一个npm包试试看了
pnpm uninstall mysql
pnpm install mysql2
复制代码
mysql2的语法和mysql那个基本一样
// get the client
const mysql = require('mysql2');
// create the connection to database
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'jym',
password: 'password'
});
connection.connect();
connection.query('SELECT * FROM user', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', JSON.stringify(results));
});
connection.end();
复制代码
运行结果如下,可以看到下面的数据和上方使用mysql客户端查出来结果一致
The solution is: [{"name":"jym","age":"1"},{"name":"jym2","age":"2"},{"name":"jym3","age":"3"},{"name":"jym4","age":"4"}]
复制代码
通过mysql2这个包,我们就可以用node.js连接数据库了,可以使用一些基础的API来直接操作mysql数据库;比如上面的代码中就执行了'SELECT * FROM user'这个sql语句
除了使用这种基础库之外,我们还可以使用ORM(对象关系映射器)框架来连接数据库,直接用OOP的方式来编写模型和方法,ORM框架会帮助你生成对应的sql语句,这样就可以把关注点放在业务上面,而不用编写SQL语句。这可以让你的代码更加简洁和可维护
目前在nodejs中常用的ORM有prisma,sequlize,typeorm等等,下回我们就来尝试一下如何用ORM来连接数据库
作者:鱼露
链接:https://juejin.cn/post/7176269086698487864
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如何使用Node.js连接数据库相关推荐
- Node.js连接数据库 实现注册、登录、判断注册
Node.js连接数据库实现注册,登录,在登录时检测账号是否进行注册. 准备工作 创建文件夹 此创建文件夹可以不是使用Vue-cli进行创建,只是简单创建文件夹便可. 使用npm进行mysql插件的安 ...
- node.js学习day03 通过node.js连接数据库实现增删改查
通过node.js连接mysql数据库实现增删改查 1. npm i mysql 导入mysql模块 2.熟悉数据库增删改查 3.建立连接 通过mysql.createPool 4.案例 const ...
- Node.js 连接数据库
操作数据库基本步骤 导入数据库文件 CREATE DATABASE `students` ;USE `students`;DROP TABLE IF EXISTS `stu`;CREATE TABLE ...
- 唤醒手腕 - 前端服务器端开发 Node.Js 学习笔记(学习中,更新中)
唤醒手腕 - Node.Js 学习笔记 唤醒手腕个人的学习记录,时间在2021年12月13日 ~ 2021年12月14日,学习方式看官方文档和B站视频,如有错误或者代码问题的地方,欢迎C站大佬能够帮忙 ...
- Node.js MySQL连接数据库 Error: Cannot enqueue Handshake after invoking quit.
Node.js使用MySQL开发登录功能时,第一次登录有效,但第二次登录报错: Error: Cannot enqueue Handshake after already enqueuing a Ha ...
- node.js(node.js+mongoose小案例)_实现简单的注册登录退出
一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...
- 58 Node.js中操作mongoDB数据库
技术交流 QQ 群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder 的程序人生 1.数据库概述及环境搭建 1.1 为什么要使用数据库 动态网站中的数据都是存储在数据 ...
- node.js中对 mysql 进行增删改查等操作和async,await处理
要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = requ ...
- Node.js实现简易爬虫
为什么选择利用node来写爬虫呢?就是因为cheerio这个库,全兼容jQuery语法,熟悉的话用起来真真是爽 依赖选择 cheerio: Node.js 版的jQuery http:封装了一个HTP ...
最新文章
- python requests 爬取数据
- python3 json.dump乱码问题
- SpringBoot AutoConfiguration魔术如何工作?
- python成绩转换、百分制到五分制_设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...
- Android5.0新控件
- 如何判断基因组的重复区域_利用宏基因组数据组装巨病毒基因组的优势与限制...
- centos7默认字体_CentOS7终端的分辨率和字体修改
- 大数据中心周边辐射大吗_“一部手机读云南”上线 力争建成国家方志大数据中心西南中心...
- js正则表达式截取字符串中的数字(不包括正负号)
- 传奇SF专用DBC2000数据库系统安装教程
- u盘维护系统 linux,制作绝对pe+puppy U盘维护系统双系统(以下方法也可制作archlinux U盘安装)...
- Scrum:官僚者们的游戏
- 2014-2015年开发的机器人仿真测试平台
- 快速学习Java8新特性第七讲——Optional类
- Linux学习笔记(九)
- 新麦机械冲刺深交所:年营收9.7亿 谢氏家族持股23%
- 《调色师手册:电影和视频调色专业技法(第2版)》——调色所需的其他硬件...
- C语言的文件读取与写入操作
- [数据结构]数据结构简介和顺序表
- 王维:送綦毋潜落第还乡
热门文章
- Python识别验证码----数美图标点选
- 魔兽世界怎么找回以前的服务器,魔兽世界怀旧服无法连接世界服务器怎么办?...
- java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署
- PHP-laravel框架学习笔记
- Android Studio 简易计算机源码
- Android抓包指南①: 使用Fiddler抓HTTP/HTTPS包
- 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境
- javascript之模拟滚动条
- 解决Altium Designer许可(license)授权紧张的问题
- 访问jersey生存的wadl文件