今天就跟大家聊聊有關(guān)node.js中怎么操作MySQL,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元濟寧做網(wǎng)站,已為上家服務(wù),為濟寧各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
安裝
安裝mysql模塊
cnpm install mysql
一個例子
新建一個mysql.js的文件,代碼如下:
連接配置
1.host:主機地址 (默認:localhost)
2.user:用戶名
3.password:密碼
4.port:端口號 (默認:3306)
5.database:數(shù)據(jù)庫名
6.charset:連接字符集(默認:'UTF8_GENERAL_CI',注意字符集的字母都要大寫)
7.localAddress:此IP用于TCP連接(可選)
8.socketPath:連接到unix域路徑,當使用 host 和 port 時會被忽略
9.timezone:時區(qū)(默認:'local')
10.connectTimeout:連接超時(默認:不限制;單位:毫秒)
11.stringifyObjects:是否序列化對象(默認:'false' ;與安全相關(guān)https://github.com/felixge/node-mysql/issues/501)
12.typeCast:是否將列值轉(zhuǎn)化為本地JavaScript類型值 (默認:true)
13.queryFormat:自定義query語句格式化方法 https://github.com/felixge/node-mysql#custom-format
14.supportBigNumbers:數(shù)據(jù)庫支持bigint或decimal類型列時,需要設(shè)此option為true (默認:false)
15.bigNumberStrings:supportBigNumbers和bigNumberStrings啟用 強制bigint或decimal列以JavaScript字符串類型返回(默認:false)
16.dateStrings:強制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認:false)
17.debug:開啟調(diào)試(默認:false)
18.multipleStatements:是否許一個query中有多個MySQL語句 (默認:false)
19.flags:用于修改連接標志,更多詳情:https://github.com/felixge/node-mysql#connection-flags
20.ssl:使用ssl參數(shù)(與crypto.createCredenitals參數(shù)格式一至)或一個包含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();
結(jié)果
改
//改 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); }; });
看完上述內(nèi)容,你們對node.js中怎么操作mysql有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。