【NodeJS】操作MySQL
2022/4/27 19:12:37
本文主要是介绍【NodeJS】操作MySQL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、在连接的数据库中准备测试操作的表:
CREATE TABLE `user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名', `age` int DEFAULT NULL COMMENT '年龄', `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO `test`.`user`(`id`, `name`, `age`, `email`) VALUES (1, 'Jone', 18, 'test1@baomidou.com'); INSERT INTO `test`.`user`(`id`, `name`, `age`, `email`) VALUES (2, 'Jack', 20, 'test2@baomidou.com'); INSERT INTO `test`.`user`(`id`, `name`, `age`, `email`) VALUES (3, 'Tom', 28, 'test3@baomidou.com'); INSERT INTO `test`.`user`(`id`, `name`, `age`, `email`) VALUES (4, 'Sandy', 21, 'test4@baomidou.com'); INSERT INTO `test`.`user`(`id`, `name`, `age`, `email`) VALUES (5, 'Billie', 24, 'test5@baomidou.com');
2、开发的JS文件所在目录安装MySQL模块
npm install mysql
3、编写JS文件,引入模块并创建连接池
// mysql模块导入 const MYSQL = require('mysql') // 创建连接池,入参连接配置参数 const db = MYSQL.createPool({ host: '127.0.0.1', port: 3308, user: 'root', password: '123456', database: 'test', })
4、查询操作
// 查询操作 const SQL_STATEMENT = 'SELECT * FROM user;' db.query(SQL_STATEMENT, (error, resultset) => { // SQL执行异常或者连接异常,将返回error异常对象 if (error) return console.log(JSON.stringify(error)) // 如果SQL执行正常将返回结果集对象 [row1, row2, row3, ...] console.log(resultset) })
5、新增操作
// 新增操作: 默认是开启了自动提交的 const user = { name: 'cloud9', age: 22, email: '1791255334@qq.com' } // 占位符传参 , 操作的结果通过结果集对象的affectedRows属性来返回 const SQL = 'INSERT INTO `test`.`user` VALUES(NULL, ?, ?, ?);' db.query(SQL, [user.name, user.age, user.email], (error, results) => { if (error) return console.log(error) console.log(results.affectedRows + ' 插入操作') }) // 支持按对象方式直接插入 const SQL = 'INSERT INTO `test`.`user` SET ?' db.query(SQL, user, (error, results) => { if (error) return console.log(error) console.log(results.affectedRows + ' 插入操作') })
6、更新操作,和新增基本是一致的
const user = { name: 'cloud9', age: 22, email: '1791255334@qq.com' } // 同理UPDATE语句也可以 const UPDATE_SQL = 'UPDATE `test`.`user` SET name = ?, age = ? WHERE id = 1 ' db.query(UPDATE_SQL, [user.name, user.age], (error, results) => { if (error) return console.log(error) console.log(results.affectedRows + ' 插入操作') }) // 对象支持 const UPDATE_SQL = 'UPDATE `test`.`user` SET ? ' db.query(UPDATE_SQL, user, (error, results) => { if (error) return console.log(error) console.log(results.affectedRows + ' 插入操作') }
7、新增,更新,删除,基本同理,不多赘述
8、连接池资源释放:
// 关闭连接池资源 db.end()
这篇关于【NodeJS】操作MySQL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04React 19 来了!新的编译器简直太棒了!
- 2025-01-032025年Node.js与PHP大比拼:挑选最适合的后端技术进行现代web开发
- 2025-01-03?? 用 Gemini API、Next.js 和 TailwindCSS 快速搭建 AI 推文生成项目 ??
- 2024-12-31Vue CLI多环境配置学习入门
- 2024-12-31Vue CLI学习入门:一步一步搭建你的第一个Vue项目
- 2024-12-31Vue3公共组件学习入门:从零开始搭建实用组件库
- 2024-12-31Vue3公共组件学习入门教程
- 2024-12-31Vue3学习入门:新手必读教程
- 2024-12-31Vue3学习入门:初学者必备指南
- 2024-12-30Vue CLI多环境配置教程:轻松入门指南