1. mysqlパッケージをインストール
$ npm install mysql
var express = require('express'); var mysql = require('mysql'); const app = express(); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'hoge', database: 'test' }); connection.connect((err) => { if(err){ console.log('error connecting:' + err.stack); return; } console.log('success'); }); app.get('/', (req, res) => { connection.query( 'SELECT * FROM master_zip', (error, results) => { console.log(results); } ); }); app.listen(8000);
$ node app.js
success
[
RowDataPacket {
zip_code: ‘1690075’,
pref_name: ‘東京都’,
city_name: ‘新宿区’,
town_name: ”,
area_name: ‘高田馬場’
},
// 省略
]
mysql.createConnectionで接続して、connection.queryでqueryを実行するのね
基本はわかりました。
ただ、これをconnection.queryの外に変数を出そうとするとできない。
var getAddress = function(args){ var zip_code = args.zip_code; const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); // conection.queryは非同期関数なので外に出せない connection.query( 'SELECT * FROM master_zip', (error, results) => { var db_results = JSON.parse(JSON.stringify(results)); } ); return db_results.filter(address => { return address.zip_code == zip_code; })[0]; }
なかなか複雑…