1. 程式人生 > >nodejs之mysql簡單查詢例項測試程式碼

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的配置檔案