node.js操作mysql簡(jiǎn)單實(shí)例
上篇文章介紹了node.js操作redis的簡(jiǎn)單實(shí)例,這里介紹如何操作mysql。
安裝
安裝mysql模塊
cnpm install mysql

一個(gè)例子
新建一個(gè)mysql.js的文件,代碼如下:

連接配置
2.user:用戶名
3.password:密碼
4.port:端口號(hào) (默認(rèn):3306)
5.database:數(shù)據(jù)庫(kù)名
6.charset:連接字符集(默認(rèn):'UTF8_GENERAL_CI',注意字符集的字母都要大寫)
7.localAddress:此IP用于TCP連接(可選)
8.socketPath:連接到unix域路徑,當(dāng)使用 host 和 port 時(shí)會(huì)被忽略
9.timezone:時(shí)區(qū)(默認(rèn):'local')
10.connectTimeout:連接超時(shí)(默認(rèn):不限制;單位:毫秒)
11.stringifyObjects:是否序列化對(duì)象(默認(rèn):'false' ;與安全相關(guān)https://github.com/felixge/node-mysql/issues/501)
12.typeCast:是否將列值轉(zhuǎn)化為本地JavaScript類型值 (默認(rèn):true)
13.queryFormat:自定義query語(yǔ)句格式化方法 https://github.com/felixge/node-mysql#custom-format
14.supportBigNumbers:數(shù)據(jù)庫(kù)支持bigint或decimal類型列時(shí),需要設(shè)此option為true (默認(rèn):false)
15.bigNumberStrings:supportBigNumbers和bigNumberStrings啟用 強(qiáng)制bigint或decimal列以JavaScript字符串類型返回(默認(rèn):false)
16.dateStrings:強(qiáng)制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認(rèn):false)
17.debug:開啟調(diào)試(默認(rèn):false)
18.multipleStatements:是否許一個(gè)query中有多個(gè)MySQL語(yǔ)句 (默認(rèn):false)
19.flags:用于修改連接標(biāo)志,更多詳情:https://github.com/felixge/node-mysql#connection-flags
20.ssl:使用ssl參數(shù)(與crypto.createCredenitals參數(shù)格式一至)或一個(gè)包含ssl配置文件名稱的字符串,目前只捆綁Amazon RDS的配置文件
創(chuàng)建數(shù)據(jù)表
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");
//創(chuàng)建連接
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!");
};
});
//執(zhí)行sql語(yǔ)句
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表中插入數(shù)據(jù)
var userAddSql = "insert into users(createTime,header,nickName,sex) value(now(),?,?,1);";
var userAddSql_params = ["1.jpg", "wolfy"];
//執(zhí)行sql語(yǔ)句
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);
};
});
通過(guò)上面的例子我們看到起主要作用還是sql語(yǔ)句以及參數(shù)化查詢,其他的跟sql語(yǔ)句相似。不再一一舉例。
- node.js 開發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫(kù)操作
- 通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程
- Node.js中調(diào)用mysql存儲(chǔ)過(guò)程示例
- Node.js的Koa框架上手及MySQL操作指南
- Node.js操作mysql數(shù)據(jù)庫(kù)增刪改查
- node.js操作mysql(增刪改查)
- Node.js中JavaScript操作MySQL的常用方法整理
- Node.js開發(fā)指南中的簡(jiǎn)單實(shí)例(mysql版)
相關(guān)文章
ajax +NodeJS 實(shí)現(xiàn)圖片上傳實(shí)例
本篇文章主要介紹了ajax +NodeJS 實(shí)現(xiàn)圖片上傳實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
從零學(xué)習(xí)node.js之詳解異步控制工具async(八)
sync是一個(gè)流程控制工具包,提供了直接而強(qiáng)大的異步功能?;贘avaScript為Node.js設(shè)計(jì),同時(shí)也可以直接在瀏覽器中使用。下面這篇文章主要介紹了node.js之異步控制工具async的相關(guān)資料,需要的朋友可以參考下。2017-02-02
在Node.js中實(shí)現(xiàn)視頻列表的分頁(yè)展示功能
在Web應(yīng)用開發(fā)中,展示大量數(shù)據(jù)時(shí)經(jīng)常會(huì)用到分頁(yè)功能,以提升用戶體驗(yàn)和頁(yè)面加載性能,本篇博客將介紹如何在使用Node.js和MongoDB的項(xiàng)目中實(shí)現(xiàn)視頻列表的分頁(yè)展示,文中有相關(guān)的代碼示例,需要的朋友可以參考下2024-04-04
Node.JS中快速掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的Web服務(wù)器地址(80)
在 Node.JS 中進(jìn)行端口掃描還是比較方便的,一般會(huì)有廣播和輪詢兩種方式。下文重點(diǎn)給大家介紹node.js 掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的web服務(wù)器地址的方法,一起看看吧2017-09-09
Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例
這篇文章主要為大家介紹了Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
express結(jié)合nodejs開啟服務(wù)示例模版
這篇文章主要為大家展現(xiàn)了express結(jié)合nodejs開啟服務(wù)的代碼示例模版,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
Node.js入門教程:在windows和Linux上安裝配置Node.js圖文教程
這篇文章主要介紹了Node.js入門教程:在windows和Linux上安裝配置Node.js的方法,本文圖文并茂,步驟明細(xì),是學(xué)習(xí)安裝node.js的絕佳教程,需要的朋友可以參考下2014-08-08
Webpack打包構(gòu)建太慢試試這幾個(gè)提升打包速度方案
在大型項(xiàng)目開發(fā)中,Webpack打包速度過(guò)慢會(huì)嚴(yán)重影響開發(fā)效率,本文介紹了幾種優(yōu)化Webpack打包速度的策略,包括減少文件搜索范圍、優(yōu)化Loader緩存、并行處理、減少打包體積、開發(fā)模式優(yōu)化以及插件優(yōu)化等,需要的朋友可以參考下2024-11-11
參考?EventEmitter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的訂閱發(fā)布功能函數(shù)
這篇文章主要為大家介紹了參考?EventEmitter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的訂閱發(fā)布功能函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02

