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];
}
なかなか複雑…