node.js操作mysql簡單實例
更新時間:2017年05月25日 10:29:44 作者:wolfy
本文給大家介紹了nodejs 連接Mysql相關操作的示例代碼,主要用到的是sql語句,都是比較基礎的。
上篇文章介紹了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:時區(qū)(默認:'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的配置文件
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:時區(qū)(默認:'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的配置文件
創(chuàng)建數據表
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語句
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"];
//執(zhí)行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語句相似。不再一一舉例。
相關文章
Node.JS中快速掃描端口并發(fā)現局域網內的Web服務器地址(80)
在 Node.JS 中進行端口掃描還是比較方便的,一般會有廣播和輪詢兩種方式。下文重點給大家介紹node.js 掃描端口并發(fā)現局域網內的web服務器地址的方法,一起看看吧2017-09-09
Node.js使用第三方插件nodemailer實現郵件發(fā)送示例
這篇文章主要為大家介紹了Node.js使用第三方插件nodemailer實現郵件發(fā)送示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Node.js入門教程:在windows和Linux上安裝配置Node.js圖文教程
這篇文章主要介紹了Node.js入門教程:在windows和Linux上安裝配置Node.js的方法,本文圖文并茂,步驟明細,是學習安裝node.js的絕佳教程,需要的朋友可以參考下2014-08-08
參考?EventEmitter實現一個簡單的訂閱發(fā)布功能函數
這篇文章主要為大家介紹了參考?EventEmitter實現一個簡單的訂閱發(fā)布功能函數示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02

