自制脚本,将 json 格式中的数据写入数据库表中
图书系统案例的继续优化
由于 直接写入数据到 json 格式中,每次对数据进行操作都要重新去写文件,当数据量很大时,性能开销会很大,也不方便,所以运用到了数据库。
1. 打开 wamp 启动 mySQL 服务
2. 启用 navicat
连接数据库,起名,密码先不用在意,点击确定。
右键,新建数据库。
如图。
查询,新建查询。
负责脚本制作的代码(下面的3. 代码是脚本)。
3. 代码
目录结构
创建 initsql.js
① 引入模块
② 读取data.json数据
③ 将Buffer数据转换为对象
④ 创建数组用于存放对象渲染后的数据
⑤ 遍历对象,渲染,存入数组
⑥ 将内存的数据写入文件,注意将数组arr拼接为字符串
// 自制脚本,将data.json中的数据写入数据库表中
// ① 引入模块
const path = require('path');
const fs = require('fs');
// ② 读取data.json数据。 join()目的是避免在不同环境运行时造成出错。
fs.readFile(path.join(__dirname, '../', 'data.json'), (err, content)=>{
// ③ 将Buffer数据转换为对象
if(err)return;
let list = JSON.parse(content);
// ④ 创建数组用于存放对象渲染后的数据
let arr = [];
// ⑤ 遍历对象,渲染,存入数组。 注意渲染的符号是 ``, 不是 ''。
list.forEach((item)=>{
let sql = `insert into book(name,author,category,description) values ('${item.name}','${item.author}','${item.category}','${item.desc}');`;
arr.push(sql);
});
// ⑥ 将内存的数据写入文件,注意将数组arr拼接为字符串
fs.writeFile(path.join(__dirname, 'data.sql'), arr.join(''), 'utf8', (err)=>{
console.log('init data finished!');
});
});
- 执行脚本,产生 data.sql 文件
data.sql 文件内容 - 复制到查询表中,运行
- 刷新表,成功!
版权声明:本文为qq1195339766原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。