“Node.js:操作mysql数据库“

这篇具有很好参考价值的文章主要介绍了“Node.js:操作mysql数据库“。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Node.js中操作mysql数据库

mysql模块是托管于npm的第三方模块,它提供了Node.js项目中连接操作mysql数据库的能力。

在项目中操作数据库的步骤

(1).安装mysql数据库的第三方模块(mysql)

npm install mysql

(2).通过mysql模块连接到mysql数据库

mysql.createPool()

(3).通过mysql模块执行sql语句

db.query()

1.操作mysql数据库

// 1.导入mysql模块
const mysql = require('mysql')
// 2.创建与mysql数据库的连接
const db = mysql.createPool({

    host: '127.0.0.1',          // 数据库的ip地址
    user: 'root',               // 登录数据库的账号
    password: 'pancc',          // 登录数据库的密码
    database: 'my_db_01'        // 指定要操作的数据库
})

// 测试mysql模块能否正常运行
// 3.执行sql语句 
db.query('SELECT 1', (err, results) => {

    if (err) return console.log(err.message)
    console.log(results)        // [ RowDataPacket { '1': 1 } ] 说明数据库连接正常
})
  • db.query()用来执行sql语句
  • sql执行成功,err默认为null,results为返回的数据

2.查询数据

select 字段1,字段2 from 表名

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})
// 查询user表的所有数据
const sqlStr = 'select * from users'
db.query(sqlStr, (err, results) => {

    // 查询失败
    if (err) return console.log(err.message)
    // 查询成功 
    console.log(results)
})
  • 注意: 如果执行的是select查询语句,则results是数组

3.插入数据

insert into 表名 (字段1,字段2) values(值1,值2)

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})
// 待新增的数据
const user = { username: '马超', password: '000000' }
// 待执行的sql语句
const sqlStr = 'insert into users (username,password) values(?,?)'
// 执行sql语句    
db.query(sqlStr, [user.username, user.password], (err, results) => {  // 

    if (err) return console.log(err.message)
    if (results.affectedRows === 1) {
        console.log('插入数据成功!')
    }
})
  • sql中英文?占位符,使用数组的形式,依次为?占位符指定具体的值
  • 注意: 如果执行的是insert插入语句,则results是一个对象
  • 可以通过results的affectedRows属性来判断是否插入数据成功

插入数据的简便方式

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})
// 待新增的数据
const user = { username: '马超', password: '000000' }
// 待执行的sql语句
const sqlStr = 'insert into users set ?'
// 执行sql语句    
db.query(sqlStr, [user.username, user.password], (err, results) => {  // 

    if (err) return console.log(err.message)
    if (results.affectedRows === 1) {
        console.log('插入数据成功!')
    }
})
  • 向表中新增数据时,如果数据对象的每个属性和数据表字段一一对应,就可以以便捷的方式插入数据

4.更新数据

update 表名 set 字段1=值1,字段2= 值2

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})

// 更新的数据对象
const user = { id: 4, username: '张辽', password: '888888' }
// sql语句
const sqlStr = 'update users set username=?,password=? where id=?'
// 执行sql语句
db.query(sqlStr, [user.username, user.password, user.id], (err, results) => {

    if (err) return console.log(err.message)
    if (results.affectedRows === 1) {
        console.log('更新数据成功!')
    }
})
  • 注意: 如果执行的是update更新语句,则results是一个对象

更新数据的简便方式

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})
// 更新的数据对象
const user = { id: 4, username: '陆逊', password: '777777' }
// sql语句
const sqlStr = 'update users set ? where id=?'
// 执行sql
db.query(sqlStr, [user, user.id], (err, results) => {

    if (err) return console.log(err.message)
    if (results.affectedRows === 1) {

        console.log('更新数据成功!')
    }
})
  • 向表中更新数据时,如果数据对象的每个属性和数据表字段一一对应,就可以以便捷的方式插入数据

5.删除数据

delete from 表名

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})

// sql语句
const sqlStr = 'delete from users where id=?'
// 执行sql
db.query(sqlStr, 17, (err, results) => {

    if (err) return console.log(err.message)
    // 注意: 执行delete语句的时候,结果results也是一个对象
    if (results.affectedRows === 1) {

        console.log('删除数据成功!')
    }
})
  • 在删除数据时,推荐根据id这样的唯一标识,来删除对应的数据
  • 如果sql语句中只有一个占位符,为?占位符指定具体的值,可以省略数组形式
  • 注意: 执行delete语句的时候,结果results也是一个对象

6.标记删除文章来源地址https://www.toymoban.com/news/detail-447672.html

const mysql = require('mysql')
const db = mysql.createPool({

    host: '127.0.0.1',
    user: 'root',
    password: 'pancc',
    database: 'my_db_01'
})
// 标记删除: 使用update语句替代delete语句;只更新数据的状态,并没有真正删除
const sqlStr = 'update users set status=? where id=?'
db.query(sqlStr, [1, 4], (err, results) => {

    if (err) return console.log(err.message)
    if (results.affectedRows === 1) {

        console.log('标记删除成功!')
    }
})
  • 使用delete语句,会把真正的数据进行删除。为了保险起见,推荐使用标记删除,来模拟删除动作
  • 设置类似status这样的状态字段,来标记当前这条数据是否被删除

到了这里,关于“Node.js:操作mysql数据库“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Vue项目通过node连接MySQL数据库并实现增删改查操作

    Vue项目通过node连接MySQL数据库并实现增删改查操作

    1.创建Vue项目 Vue项目创建的详细步骤,有需要的可移步这里 2.下载安装需要的插件 下载express 下载cors,用于处理接口跨域问题 下载mysql 下载axios 3.在项目中创建server文件夹,用于搭建本地服务器 新建/server/app.js,用于配置服务器相关信息 新建/server/db/index.js,用于配置数据库

    2024年02月16日
    浏览(14)
  • node.js之连接数据库

    node.js之连接数据库

    我们如何在nodejs中连接并操作数据库呢? 让我为大家解答一下吧! 1.安装操作MySQL数据库的第三方块 (mysql) mysql 模块是托管于 npm 上的第三方块。它提供了在 Nodejs 项目中连接和操作 MySQL 数据库的能力想要在项目中使用它,需要先运行如下命令,将mysql安装为项目的依赖包 2

    2024年01月19日
    浏览(16)
  • Node.js连接数据库 实现注册、登录、判断注册

    Node.js连接数据库 实现注册、登录、判断注册

    Node.js连接数据库实现注册,登录,在登录时检测账号是否进行注册。 此创建文件夹可以不是使用Vue-cli进行创建,只是简单创建文件夹便可。 使用npm进行mysql插件的安装,cmd黑窗口运行下列指令 此指令运行完成,文件夹根目录出现 node_modules 文件 黑窗口运行 npm init 指令,出现

    2024年02月09日
    浏览(14)
  • MySQL数据库 – node使用

    MySQL数据库 – node使用

    1 MySQL查询对象 2 MySQL查询数组 3 mysql2库介绍使用 4 mysql2预处理语句 5 mysql2连接池使用 6 mysql2的Promi 这里仅说明如何使用服务器连接数据库并进行操作。 预处理语句就是可以输入变量的语句(表现形式是有符号:?)。需要使用.execute来执行;   需要运行普通的语句(不添加变

    2024年02月08日
    浏览(12)
  • 在Node.js中使用MongoDB连接数据库、创建集合

    在Node.js中使用MongoDB连接数据库、创建集合

    本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用Mongoose。 首先,需要安装 mongodb 模块。可以通过以下命令来安装: 安装完成后,可以在代码中引入模块: 接着,可以使用 MongoClient 来连接

    2024年02月04日
    浏览(34)
  • 前端使用node.js连接sql.server数据库教程

    前端使用node.js连接sql.server数据库教程

    最近项目中要用到node写接口然后连接公司现有的sql.server数据库,再把执行结果返回给前端(还是我),因为之前一直做前端这块,后端这方面不是很懂,花了很长的时间终于研究出来了(还是太菜了,走了很多弯路),所以写个博客,一是复习巩固,二是给其他有需要的小伙伴一个参考,尽量

    2024年02月11日
    浏览(10)
  • Nodejs 入门8 NeDB 轻量级的Node.js 数据库

    Nodejs 入门8 NeDB 轻量级的Node.js 数据库

    常用的sqlite轻量级数据库,nodejs在windows环境下安装配置有时候会比较麻烦,很难顺利安装。 Nedb(Node Embedded Database)在一些情况下可以替代sqlite,特别适用于小型项目和快速原型开发。本文将介绍Nedb的基本概念、特性和使用方法,以帮助大家更好地了解和利用这个便捷的工

    2024年01月22日
    浏览(16)
  • 自学WEB后端05-Node.js后端服务链接数据库redis

    自学WEB后端05-Node.js后端服务链接数据库redis

    嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如何安装和使用 Redis 吧!  自学WEB后端01-安装Express+Node.js框架完成Hello

    2024年02月07日
    浏览(19)
  • MySQL的数据库操作、数据类型、表操作

    MySQL的数据库操作、数据类型、表操作

    目录 一、数据库操作 (1)、显示数据库 (2)、创建数据库 (3)、删除数据库 (4)、使用数据库 二、常用数据类型 (1)、数值类型 (2)、字符串类型 (3)、日期类型 三、表操作 (1)、创建表 (2)、查看表 (3)、删除表 都要看到这了,点个赞再走吧,谢谢谢谢谢

    2024年02月06日
    浏览(10)
  • 使用 Next.js 连接 mysql 数据库

    使用 Next.js 连接 mysql 数据库

    本文主要为大家介绍,如何使用 Next 框架实现一个简单的 后端接口 ,并且从 数据库 中请求数据返回给前端。 项目创建完成后在 app 文件下新建api文件夹,在 api 文件夹下新建 getData 文件夹,在 getData 文件夹下新建 route.js,这里面用于存储我们的接口信息,如下 注意: 在

    2024年02月22日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包