autojs调用mysql_Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql)

这篇博客介绍了如何使用Node.js的felixge/node-mysql模块与MySQL进行交互,包括安装、连接配置、基本的CRUD操作、调用存储过程以及处理断线重连。此外,还提到了防止SQL注入的安全措施。
摘要由CSDN通过智能技术生成

目录

简介和安装

我选择了felixge/node-mysql,用的人比较多,先随大溜看看它的使用,暂时没有太过纠结于各库之间的执行性能问题,对其它库有研究的筒子也可以分享一下性能要求较高时的选择^_^!

This is a node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 100% MIT licensed

用纯JavaScript实现。MIT 100%!

安装

npm install mysql

304af3538836d34d61e2a8becd13c4bf.png

注意:安装前先把目录cd到node.exe所在目录下,这样执行安装命令时,会找到目录下node_modules,并安装在此目录下,否则使用mysql时,你会出现 Error: Cannot find module 'mysql'

测试MySQL

MySQL版本:5.5

在官方示例的基础下修改一下并测试:

2bcc91aa887cb41a2bcae497c7b09d4b.png

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

var mysql = require('mysql'); //调用MySQL模块//创建一个connection

var connection=mysql.createConnection({

host :'192.168.0.200', //主机

user :'root', //MySQL认证用户名

password :'abcd', //MySQL认证用户密码

port:'3306', //端口号

});//创建一个connection

connection.connect(function(err){if(err){

console.log('[query] - :'+err);return;

}

console.log('[connection connect] succeed!');

});//执行SQL语句

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {if(err) {

console.log('[query] - :'+err);return;

}

console.log('The solution is:', rows[0].solution);

});//关闭connection

connection.end(function(err){if(err){return;

}

console.log('[connection end] succeed!');

});

测试示例源码

成功执行!

认识一下Connection Options

要想创建一个数据库连接,先就要认识清楚Options

host:主机地址 (默认:localhost)

user:用户名

password:密码

port:端口号 (默认:3306)

database:数据库名

charset:连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)

localAddress:此IP用于TCP连接(可选)

socketPath:连接到unix域路径,当使用 host 和 port 时会被忽略

timezone:时区(默认:'local')

connectTimeout:连接超时(默认:不限制;单位:毫秒)

typeCast:是否将列值转化为本地JavaScript类型值 (默认:true)

supportBigNumbers:数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)

bigNumberStrings:supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)

dateStrings:强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)

debug:开启调试(默认:false)

multipleStatements:是否许一个query中有多个MySQL语句 (默认:false)

ssl:使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件

其它:

可以使用URL形式的加接字符串,不多介绍了,不太喜欢那种格式,觉得可读性差,也易出错,想了解的可以去主页上看。

MYSQL CURD

首先创建一个测试数据库nodesample,在数据库中建一个userinfo表

CREATE DATABASE IF NOT EXISTS nodesample CHARACTER SETUTF8;USEnodesample;SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS`userinfo`;CREATE TABLE`userinfo` (

`Id`int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',

`UserName`varchar(64) NOT NULL COMMENT '用户名',

`UserPass`varchar(64) NOT NULL COMMENT '用户密码',PRIMARY KEY(`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值