Node.js | MySQL 連接
環境準備
MySQL的安裝可以參閱Docker - 第四章 | 安裝MySQL。
- 顯示目前的資料庫清單:
1 | mysql> show databases; |
- 新建資料庫:
1 | mysql> create database test; |
- 選擇資料庫:
1 | mysql> use test; |
- 新增資料表和資料:
1 | DROP TABLE IF EXISTS `websites`; |
執行結果如下:
1 | mysql> DROP TABLE IF EXISTS `websites`; |
安裝 mysql 驅動
要使用Node.js訪問MySQL資料庫,你需要一個MySQL驅動程序。
1 | npm install mysql --save |

連接資料庫
1 | var mysql = require('mysql'); |
執行結果如下:
1 | $ node test.js |
連接資料庫參數
| 參數 | 說明 |
|---|---|
| host | 主機地址 (默認:localhost) |
| user | 用戶名 |
| password | 密碼 |
| port | 端口號 (默認:3306) |
| database | 資料庫名 |
| charset | 連接字符集(默認:’UTF8_GENERAL_CI’,注意字符集的字母都要大寫) |
| localAddress | 此IP用於TCP連接(可選) |
| socketPath | 連接到unix域路徑,當使用 host 和 port 時會被忽略 |
| timezone | 時區(默認:’local’) |
| connectTimeout | 連接超時(默認:不限制;單位:毫秒) |
| stringifyObjects | 是否序列化對象 |
| typeCast | 是否將列值轉化為本地JavaScript類型值 (默認:true) |
| queryFormat | 自定義query語句格式化方法 |
| supportBigNumbers | 資料庫支持bigint或decimal類型列時,需要設此option為true (默認:false) |
| bigNumberStrings | supportBigNumbers和bigNumberStrings啟用 強制bigint或decimal列以JavaScript字符串類型返回(默認:false) |
| dateStrings | 強制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認:false) |
| debug | 開啟調試(默認:false) |
| multipleStatements | 是否許一個query中有多個MySQL語句 (默認:false) |
| flags | 用於修改連接標誌 |
| ssl | 使用ssl參數(與crypto.createCredenitals參數格式一至)或一個包含ssl配置文件名稱的字符串,目前只捆綁Amazon RDS的配置文件 |
資料庫操作 (CURD)
查詢資料
1 | var mysql = require('mysql'); |
執行結果如下:
1 | $ node test.js |

新增資料
1 | var mysql = require('mysql'); |
執行結果如下:
1 | $ node test.js |


更新資料
1 | var mysql = require('mysql'); |
執行結果如下:
1 | $ node test.js |


刪除資料
1 | var mysql = require('mysql'); |
執行結果如下:
1 | $ node test.js |


註:以上參考了
npm mysql
Node.js 连接 MySQL
