node.js操作mysql简单实例
网络编程 2021-07-04 18:32www.168986.cn编程入门
本文给大家介绍了nodejs 连接Mysql相关操作的示例代码,主要用到的是sql语句,都是比较基础的。
上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql。
安装
安装mysql模块
pm 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./felixge/node-mysql/issues/501)
12.typeCast是否将列值转化为本地JavaScript类型值 (默认true)
13.queryFormat自定义query语句格式化方法 https://github./felixge/node-mysql#custom-format
14.supportBigNumbers数据库支持bigint或decimal类型列时,需要设此option为true (默认false)
15.bigNumberStringssupportBigNumbers和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./felixge/node-mysql#connection-flags
20.ssl使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
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./felixge/node-mysql/issues/501)
12.typeCast是否将列值转化为本地JavaScript类型值 (默认true)
13.queryFormat自定义query语句格式化方法 https://github./felixge/node-mysql#custom-format
14.supportBigNumbers数据库支持bigint或decimal类型列时,需要设此option为true (默认false)
15.bigNumberStringssupportBigNumbers和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./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 suessed!"); }; }); //执行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语句相似。不再一一举例。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指