前几天在写一个后台模版的时候,发现录入数据的时候效率很慢。本着希望可以大批量地录入一些数据。由于对mysql 不熟悉也没找到很好的数据库相关的工具。在朋友推荐下,找到[mockjs]工具(http://mockjs.com/)
来模拟一下数据。使用mockjs模拟主要是想让其生成大量sql的插入语句,这样可以方便自己使用。
这只是一个很小的脚本,不过这个脚本可以帮我录入一大堆数据可谓在没有找到更好的工具之前方便自己使用的小工具。
首先先安装一下脚本:
npm install mockjs
然后创建一个文件sql.js,编写nodejs的时候将mockjs的模块引入进来,并且导入文件模块操作。
const fs = require('fs');
var Mock = require('mockjs')
var Random = require('mockjs').Random;
//创建一定数量的sql语句
function createSql(num)
{
var tempStr ='';
for (var i = 0; i < num; i++) {
//Random.name()
var name = Mock.mock('@name');
var sex = Math.random() > 0.5 ?1:0;
//Random.email()
var email = Mock.mock('@email');
// Random.integer(13000000000, 13999999999);
var telephone = Mock.mock('@integer(13000000000, 13999999999)');
// Random.cname();
var leader = Mock.mock('@cname');
// Random.date('yyyy-MM-dd');
var create_time = Mock.mock('@date("yyyy-MM-dd")');
var sql = `insert into tplay_example(name,sex,telephone,email,leader,create_time) values('${name}',${sex},'${telephone}','${email}','${leader}','${create_time}');`;
tempStr+=sql+"\r\n";
}
writeFile("mysql.sql",tempStr);
}
createSql(20);
function writeFile(url,data=''){
fs.writeFile(url, data, 'utf8', function(err){
if(!err)
{
console.log('创建完成');
}
});
}
完成脚本保存sql.js ,在命令行执行node sql.js 接口生成对应的插入语句。接下来就可以使用这些插入sql语句导入对应的数据库里面。由于mockjs的特性使得很容易模拟一些接近真实的数据,这对数据体验提升不少。