node.js操作mysql簡單實(shí)例
上篇文章介紹了node.js操作redis的簡單實(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ù)庫名
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語句格式化方法 https://github.com/felixge/node-mysql#custom-format
14.supportBigNumbers:數(shù)據(jù)庫支持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語句 (默認(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語句 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語句 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語句以及參數(shù)化查詢,其他的跟sql語句相似。不再一一舉例。
相關(guān)文章
nodejs連接mongodb數(shù)據(jù)庫實(shí)現(xiàn)增刪改查
本篇文章主要結(jié)合了nodejs操作mongodb數(shù)據(jù)庫實(shí)現(xiàn)增刪改查,包括對(duì)數(shù)據(jù)庫的增加,刪除,查找和更新,有興趣的可以了解一下。2016-12-12Node.js實(shí)現(xiàn)Excel轉(zhuǎn)JSON
本文給大家記錄的是個(gè)人項(xiàng)目中遇到的,使用node.js實(shí)現(xiàn)Excel轉(zhuǎn)換成Json的方法和過程,十分的簡單實(shí)用,也很詳細(xì),這里推薦給有需要的小伙伴參考下。2015-04-04windows如何把已安裝的nodejs高版本降級(jí)為低版本(圖文教程)
這篇文章主要介紹了windows如何把已安裝的nodejs高版本降級(jí)為低版本,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法
這篇文章主要給大家介紹了在Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-06-06從reflect?metadata理解Nest實(shí)現(xiàn)原理
這篇文章主要為大家介紹了從reflect?metadata理解Nest實(shí)現(xiàn)原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08