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


相关推荐: Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在Windows虚拟主机上快速搭建网站?  如何用已有域名快速搭建网站?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  html5的keygen标签为什么废弃_替代方案说明【解答】  Swift开发中switch语句值绑定模式  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  微信小程序 HTTPS报错整理常见问题及解决方案  如何基于PHP生成高效IDC网络公司建站源码?  IOS倒计时设置UIButton标题title的抖动问题  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  JavaScript常见的五种数组去重的方式  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel如何使用Telescope进行调试?(安装和使用教程)  北京企业网站设计制作公司,北京铁路集团官方网站?  网页设计与网站制作内容,怎样注册网站?  如何快速搭建二级域名独立网站?  进行网站优化必须要坚持的四大原则  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  如何快速搭建高效香港服务器网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何获取PHP WAP自助建站系统源码?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  中山网站推广排名,中山信息港登录入口?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何快速查询网址的建站时间与历史轨迹?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  5种Android数据存储方式汇总  实例解析angularjs的filter过滤器  LinuxCD持续部署教程_自动发布与回滚机制  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  JavaScript模板引擎Template.js使用详解  js实现点击每个li节点,都弹出其文本值及修改  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  详解MySQL数据库的安装与密码配置  Laravel如何使用Blade模板引擎?(完整语法和示例)  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  高防服务器租用指南:配置选择与快速部署攻略  如何确保FTP站点访问权限与数据传输安全?