Async/Await を使います。
maria_create.js
#! /usr/bin/node
// ---------------------------------------------------------------// maria_create.js//// Jun/04/2020//// ---------------------------------------------------------------varmysql=require('mysql2')// ---------------------------------------------------------------functiondict_append_proc(dict_aa,id_in,name_in,population_in,date_mod_in){varunit_aa={}unit_aa['name']=name_inunit_aa['population']=population_inunit_aa['date_mod']=date_mod_indict_aa[id_in]=unit_aareturndict_aa}// ---------------------------------------------------------------functiondata_prepare_proc(){vardict_aa=newObject()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','新見',276951,'1950-10-2')returndict_aa}// ---------------------------------------------------------------asyncfunctionmain(){constdict_aa=data_prepare_proc()constdotenv=require('dotenv')dotenv.config()constuser=`${process.env.user}`constpassword=`${process.env.password}`constdata_base=`${process.env.data_base}`try{varconn=awaitmysql.createConnection({host:'localhost',user:user,password:password,database:data_base})constsql_str_drop='drop table if exists cities'awaitconn.execute(sql_str_drop)varsql_str_create='create table cities 'sql_str_create+='(id varchar(10), name varchar(20),'sql_str_create+=' population int, date_mod date)'awaitconn.execute(sql_str_create)for(varkeyindict_aa){console.log(key)varsql_str="insert into cities "sql_str+="(id,name,population,date_mod) values ("conststr_data="'"+key+"','"+dict_aa[key].name+"',"+dict_aa[key].population+",'"+dict_aa[key].date_mod+"')"sql_str+=str_dataawaitconn.execute(sql_str)}}catch(ee){console.log(ee)return''}finally{if(conn&&conn.connection){conn.end()}}console.log("*** 終了 ***")}// ---------------------------------------------------------------console.log("*** 開始 ***")main()// ---------------------------------------------------------------
実行コマンド
export NODE_PATH=/usr/lib/node_modules
./maria_create.js