node.js操作mysql简单实例

发布时间 - 2026-01-11 01:17:12    点击率:

上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql。

安装

安装mysql模块

cnpm install mysql

一个例子

新建一个mysql.js的文件,代码如下:

连接配置

1.host:主机地址 (默认:localhost)
2.user:用户名
3.password:密码
4.port:端口号 (默认:3306)
5.database:数据库名
6.charset:连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
7.localAddress:此IP用于TCP连接(可选)
8.socketPath:连接到unix域路径,当使用 host 和 port 时会被忽略
9.timezone:时区(默认:'local')
10.connectTimeout:连接超时(默认:不限制;单位:毫秒)
11.stringifyObjects:是否序列化对象(默认:'false' ;与安全相关https://github.com/felixge/node-mysql/issues/501)
12.typeCast:是否将列值转化为本地JavaScript类型值 (默认:true)
13.queryFormat:自定义query语句格式化方法 https://github.com/felixge/node-mysql#custom-format
14.supportBigNumbers:数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
15.bigNumberStrings:supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
16.dateStrings:强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
17.debug:开启调试(默认:false)
18.multipleStatements:是否许一个query中有多个MySQL语句 (默认:false)
19.flags:用于修改连接标志,更多详情:https://github.com/felixge/node-mysql#connection-flags
20.ssl:使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件

创建数据表

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
 `Id` int(11) NOT NULL AUTO_INCREMENT,
 `CreateTime` datetime NOT NULL,
 `Header` varchar(255) DEFAULT NULL,
 `NickName` varchar(255) DEFAULT NULL,
 `Sex` int(11) NOT NULL,
 PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//引入mysql模块
var mysql = require("mysql");
//创建连接
var connection = mysql.createConnection({
  host: "localhost",
  port: "3306",
  user: "root",
  password: "abcd",
  database: "it_odd_o",
});
//开始连接
connection.connect(function (err) {
  if (err) {
    console.log("[connect] - " + err);
    return;
  } else {
    console.log("connection connect successed!");
  };
});
//执行sql语句
connection.query("select 1+1 as result", function (err, rows, fields) {
  if (err) {
    console.log("[query] - " + err);
  } else {
    console.log("result is " + rows[0].result);
  };
});
//向user表中插入数据
var userAddSql = "insert into users(createTime,header,nickName,sex) value(now(),?,?,1);";
var userAddSql_params = ["1.jpg", "wolfy"];
//执行sql语句
connection.query(userAddSql, userAddSql_params, function (err, result) {
  if (err) {
    console.log("[insert] - " + err);
  } else {
    console.log(result);    
  };
});
//断开连接
connection.end();
结果

//改
var userUpdateSql="update users set header=? where id=?;";
var userUpdateSql_params=["2.jpg",2];
connection.query(userUpdateSql, userUpdateSql_params, function (err, result) {
  if (err) {
    console.log("[update] - " + err);
  } else {
    console.log(result);    
  };
});
总结

通过上面的例子我们看到起主要作用还是sql语句以及参数化查询,其他的跟sql语句相似。不再一一举例。


# nodejs  # mysql  # 实例  # node.js简单实例  # mysql操作封装  # node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作  # 通过node-mysql搭建Windows+Node.js+MySQL环境的教程  # Node.js中调用mysql存储过程示例  # Node.js的Koa框架上手及MySQL操作指南  # Node.js操作mysql数据库增删改查  # node.js操作mysql(增删改查)  # Node.js中JavaScript操作MySQL的常用方法整理  # Node.js开发指南中的简单实例(mysql版)  # 都要  # 多个  # 中有  # 其他的  # 自定义  # 可选  # 转化为  # 连接到  # 配置文件  # 新建一个  # 而不是  # 上篇  # 端口号  # 序列化  # https  # false  # stringifyObjects  # felixge  # issues  # github 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 韩国服务器如何优化跨境访问实现高效连接?  HTML 中动态设置元素 name 属性的正确语法详解  如何在万网开始建站?分步指南解析  Laravel如何与Pusher实现实时通信?(WebSocket示例)  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  JavaScript Ajax实现异步通信  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  html5的keygen标签为什么废弃_替代方案说明【解答】  WordPress 子目录安装中正确处理脚本路径的完整指南  Python函数文档自动校验_规范解析【教程】  php结合redis实现高并发下的抢购、秒杀功能的实例  如何在云主机上快速搭建网站?  如何快速辨别茅台真假?关键步骤解析  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel如何创建自定义Artisan命令?(代码示例)  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  javascript日期怎么处理_如何格式化输出  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用AI帮你把自己的生活经历写成一个有趣的故事?  制作电商网页,电商供应链怎么做?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何用wdcp快速搭建高效网站?  如何基于云服务器快速搭建网站及云盘系统?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  网站建设保证美观性,需要考虑的几点问题!  Laravel如何自定义错误页面(404, 500)?(代码示例)  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  详解Huffman编码算法之Java实现  jQuery中的100个技巧汇总  Laravel storage目录权限问题_Laravel文件写入权限设置  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  简历没回改:利用AI润色让你的文字更专业  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何实现文件上传和存储?(本地与S3配置)  java ZXing生成二维码及条码实例分享  EditPlus 正则表达式 实战(3)  如何将凡科建站内容保存为本地文件?