溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

node.js中怎么操作mysql

發(fā)布時(shí)間:2021-07-21 10:29:56 來(lái)源:億速云 閱讀:166 作者:Leah 欄目:web開(kāi)發(fā)

今天就跟大家聊聊有關(guān)node.js中怎么操作mysql,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

安裝

安裝mysql模塊

cnpm install mysql

node.js中怎么操作mysql

一個(gè)例子

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

node.js中怎么操作mysql

連接配置

1.host:主機(jī)地址 (默認(rèn):localhost)
2.user:用戶名
3.password:密碼
4.port:端口號(hào) (默認(rèn):3306)
5.database:數(shù)據(jù)庫(kù)名
6.charset:連接字符集(默認(rèn):'UTF8_GENERAL_CI',注意字符集的字母都要大寫(xiě))
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:開(kāi)啟調(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",
});
//開(kāi)始連接
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);    
  };
});
//斷開(kāi)連接
connection.end();

結(jié)果

node.js中怎么操作mysql

node.js中怎么操作mysql

//改
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)容,你們對(duì)node.js中怎么操作mysql有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI