プログラム
フォルダー構造
$ tree -a
.
├── .env
├── config_mariadb.js
├── go_create.sh
└── maria_create.js
Async/Await を使います。
maria_create.js
#! /usr/bin/node
// ---------------------------------------------------------------
// maria_create.js
//
// Feb/24/2023
//
// ---------------------------------------------------------------
'use strict'
var mysql = require('mysql2/promise')
var config_mariadb = require('./config_mariadb')
// ---------------------------------------------------------------
function dict_append_proc (dict_aa,id_in,name_in,population_in,date_mod_in)
{
var unit_aa = {}
unit_aa['name'] = name_in
unit_aa['population'] = population_in
unit_aa['date_mod'] = date_mod_in
dict_aa[id_in] = unit_aa
return dict_aa
}
// ---------------------------------------------------------------
function data_prepare_proc ()
{
var dict_aa = new Object ()
dict_aa = dict_append_proc (dict_aa,'t3321','岡山',812763,'1950-10-23')
dict_aa = dict_append_proc (dict_aa,'t3322','倉敷',783257,'1950-7-15')
dict_aa = dict_append_proc (dict_aa,'t3323','津山',975241,'1950-1-2')
dict_aa = dict_append_proc (dict_aa,'t3324','玉野',231864,'1950-6-22')
dict_aa = dict_append_proc (dict_aa,'t3325','笠岡',769358,'1950-8-14')
dict_aa = dict_append_proc (dict_aa,'t3326','井原',865792,'1950-9-12')
dict_aa = dict_append_proc (dict_aa,'t3327','総社',438251,'1950-3-21')
dict_aa = dict_append_proc (dict_aa,'t3328','高梁',352486,'1950-7-26')
dict_aa = dict_append_proc (dict_aa,'t3329','新見',246951,'1950-10-2')
return dict_aa
}
// ---------------------------------------------------------------
async function main()
{
const dict_aa = data_prepare_proc ()
const [host, user, password, data_base] = config_mariadb.config_mariadb_proc()
try {
var conn = await mysql.createConnection ({
host: host,
user: user,
password: password,
database: data_base
})
const sql_str_drop = 'drop table if exists cities'
await conn.execute(sql_str_drop)
var sql_str_create = 'create table cities '
sql_str_create += '(id varchar(10), name varchar(20),'
sql_str_create += ' population int, date_mod date)'
await conn.execute(sql_str_create)
for (var key in dict_aa)
{
console.log(key)
var sql_str = "insert into cities "
sql_str += "(id,name,population,date_mod) values ("
const str_data = "'" + key + "','" + dict_aa[key].name + "',"
+ dict_aa[key].population + ",'" + dict_aa[key].date_mod + "')"
sql_str += str_data
await conn.execute(sql_str)
}
} catch (ee) {
console.log(ee)
return ''
} finally {
if (conn && conn.connection) {
conn.end()
}
}
console.error ("*** 終了 ***")
}
// ---------------------------------------------------------------
console.error ("*** 開始 ***")
main ()
// ---------------------------------------------------------------
.env
config_mariadb.py
はこちら
Node.js: MariaDB のバージョンを表示
実行コマンド
go_create.sh
export NODE_PATH=/usr/lib/node_modules
./maria_create.js
確認したバージョン
$ node -v
v19.7.0