nodejs 遍历 mysql 100 万记录,怎么 *** 作比较好

nodejs 遍历 mysql 100 万记录,怎么 *** 作比较好,第1张

一般需要遍历的数据处理都用ADO

但建议你遍历之前,设置一下主键,估计速度会提高70%左右。

相关知识:ADO简介

一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在Microsoft Visual Basic编辑器中,可以使用ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来 *** 作数据库中的数据。

NodeJS对mysql数据库的简单 *** 作

1

打开软件新建一个空的文件夹

2

然后引入mysql依赖 npm install mysql 1 完成后对应文件夹下会生成一个node_modules的文件夹,我们不需要去管它

3

编写mysqljs文件 // 导入mysql依赖constmysql=require("mysql")// 获取

这个要看业务场景而决定,主流的数据库都是可以选择的,一般业内使用mysql的多一些。

我们来看看node提供的数据库支持有支持如下Database:IBMDB2,MSSQLServer,PostgreSQL,MySQL,SQLite,Oracle

支持的NoSQL有MongoDB,Hive,Redis,CouchDB。

Nodejs是一个Javascript运行环境(runtime),发布于2009年5月,由RyanDahl开发,实质是对ChromeV8引擎进行了封装。Nodejs对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。

V8引擎执行Javascript的速度非常快,性能非常好。 Nodejs是一个基于ChromeJavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Nodejs使用事件驱动,非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

首先是登陆腾讯云,登陆之后可以领取新手礼包,如图

进入云产品->数据库->CDB for MYSQL->立即选购,选购最低配的可用礼包抵扣使用一个月,购买完成

主页->右上角产品管理->使用中的数据库,这时我们会看见一个实例,首先我们进入管理页面对实例进行一些基本的设置

实例名可以随意更改,外网地址必须开启,否则我们就不能在自己的项目中和本地访问云数据库。进入账号管理页面修改自己的root密码,然后点击右上角的登录数据库

登陆完成之后如下图

这个和本地客户端 *** 作基本相同,我就不详细阐述了

   二、使用一个demo来说明如何 *** 作云mysql数据库

1在实例上上新建一个为nodejs的数据库,然后新建一个为employee的表,新建四个字段 name  sex   age   email除了年龄为int其它的全部为varchar格式

2新建一个TimLiu的文件夹,打开cmd,cd TimLiu, 初始化项目npm init ,按照它的提示一步一步的 *** 作即可,安装mysql模块,npm insitall mysql, 这个模块的作用主要是连接mysql数据库。

3新建一个modeljs 文件,

   var mysql = require(‘mysql’);

   var connection = mysqlcreateConnection({

           host:'',

           user:'root',

           password:'123abc',

           database:' nodejs',

           port:6445

          })

connectionconnect();

这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。

接下来我们对数据库进行增删改查 *** 作

/

增加员工

/function addEmployee(){

   var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(,,,)';

   var employeeInsertSql_Params = ['Tim','男',22,'18818216454@163com']

   connectionquery(employeeInsertSql,employeeInsertSql_Params,function(err,result){

       if(err) consolelog('[INSERT ERR]-',errmessage);

       consolelog(result);

   }) }addEmployee()

 }

/

更新员工

/

function insertEmployee(){

   var employeeUpdateSql = "UPDATE employee SET name = WHERE age =";

   var employeeUpdateSql_Params = ['Peter',22];

   connectionquery(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

       if(err) consolelog('[UPDATE ERR]-',errmessage);

       consolelog(result);

   })}

insertEmployee();

/

查询员工

/  function getEmployee(){

   var employeeGetSql = "SELECT FROM employee";

   connectionquery(employeeGetSql,function(err,result){

       if(err) consolelog('[SELECT ERR]-',errmessage);

       consolelog(result);

   })}

getEmployee();

/

删除员工

/  function deleteEmployee(){

   var employeeDeleteSql = "DELETE employee WHERE name = ";

   var employeeDeleteSql_Params = 'Peter';

   connectionquery(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){

       if(err) consolelog('[DELETE ERR]-',errmessage);

       consolelog(result);

   })

   }deleteEmployee();

这样我们就可以愉快的 *** 作数据库了

如果大家想把项目更模块化 *** 作,可在model下面新建一个employee_twojs,代码如下

var mysql = require('mysql');var connection = mysqlcreateConnection({

   host:'',

   user:'root',

   password:'',

   database:'nodejs',

   port:})connectionconnect();/

增加员工

@param {String} employee

@param {Function} callback

/exportsaddEmployee=function(employee,callback){

   var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(,,,)';

   var employeeInsertSql_Params = [employeename,employeesex,employeeage,employeeemail]

   connectionquery(employeeInsertSql,employeeInsertSql_Params,callback)}/

更新员工

@param {String} employee

@param {Function} callback

/exportsupdateEmployee = function(name,age){

   var employeeUpdateSql = "UPDATE employee SET name = WHERE age =";

   var employeeUpdateSql_Params = ['Peter',22];

   connectionquery(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

       if(err) consolelog('[UPDATE ERR]-',errmessage);

       consolelog(result);

   })}/

查询员工

/exportsgetEmployee = function(){

   var employeeGetSql = "SELECT FROM employee";

   connectionquery(employeeGetSql,callback)}/

删除员工

@param {String} name

/exportsdeleteEmployee = function(name){

   var employeeDeleteSql = "DELETE employee WHERE name = ";

   var employeeDeleteSql_Params = 'Peter';

   connectionquery(employeeDeleteSql,employeeDeleteSql_Params,callback)

   }再在根目录下新建indexjs,代码如下var db = require('/model/employee_two');//增加员工var employee = {

   name:'lisa',

   age:22,

   sex:"女",

   email:'99533212@qqcom'}dbaddEmployee(employee,function(err,result){

   if(err) consolelog("[INSERT err]-",errmessage)

   consolelog(result);})//删除员工dbdeleteEmployee('Peter',function(err,result){

   if(err) consolelog("[DELETE err]-",errmessage)

   consolelog(result);})//更新员工dbupdateEmployee('Tim',23,function(err,result){

   if(err) consolelog("[UPDATE err]-",errmessage)

   consolelog(result);})//查询员工dbgetEmployee(function(err,result){

   if(err) consolelog("[GET err]-",errmessage)

   consolelog(result);})

产品开发了新版本,数据不兼容,新版本的数据结构比旧版本复杂一些,目前,旧版本是在线系统,需要将旧版本程序的数据适配至新版本程序。数据库是MySQL,这里选择使用NodeJS来完成。

使用的版本:

需要的依赖

案例一,单表的数据同步:

databasemysqlmysqltoolsjs

databasemysql2mysql2toolsjs

syncdata0basesyncDatajs

syncdata1manufactormainmanufactorjs

syncdata2brandmainbrandjs

syncdata3categorymaincategoryjs

案例二,关联表的数据同步:

databasemysql2mysql2promisetoolsjs

syncdata4general_namemaingeneral_namejs

syncdata5goodsmaingoodsjs

以上就是关于nodejs 遍历 mysql 100 万记录,怎么 *** 作比较好全部的内容,包括:nodejs 遍历 mysql 100 万记录,怎么 *** 作比较好、nodejs如何复制mysql数据库、node.js用什么数据库好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9683290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存