nodejs之mysql簡單查詢例項測試程式碼
var mysql = require('mysql'); var moment = require('moment'); var TEST_DATABASE = 'test1'; var TEST_TABLE = 'table_test'; var client = mysql.createConnection({ host: '127.0.0.1', port: '3306', user: 'root', password: '', }); client.connect(); client.query("use " + TEST_DATABASE); client.query('SELECT * FROM '+TEST_TABLE, function(err, results, fields) { if (err) { throw err; } if(results){ for(var i = 0; i < results.length; i++){ console.log("%s\t%s", results[i].name, moment(results[i].birth).format('YYYY-MM-DD')); } } client.end(); } );
結果:
chenqy 1988-05-18
abcabc 1991-09-08
abcabcdef 1997-09-08
null 1999-09-09
nullTest Invalid date
執行前需安裝模組:
npm install mysql
npm install moment
Connection Options
host:主機地址 (預設:localhost)
user:使用者名稱
password:密碼
port:埠號 (預設:3306)
database:資料庫名
charset:連線字符集(預設:'UTF8_GENERAL_CI',注意字符集的字母都要大寫)
localAddress:此IP用於TCP連線(可選)
socketPath:連線到unix域路徑,當使用 host 和 port 時會被忽略
timezone:時區(預設:'local')
connectTimeout:連線超時(預設:不限制;單位:毫秒)
stringifyObjects:是否序列化物件(預設:'false' ;與安全相關https://github.com/felixge/node-mysql/issues/501)
typeCast:是否將列值轉化為本地JavaScript型別值 (預設:true)
queryFormat:自定義query語句格式化方法 https://github.com/felixge/node-mysql#custom-format
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:用於修改連線標誌,更多詳情:https://github.com/felixge/node-mysql#connection-flags
ssl:使用ssl引數(與crypto.createCredenitals引數格式一至)或一個包含ssl配置檔名稱的字串,目前只捆綁Amazon RDS的配置檔案