• Node.js 连接 MySQL


    安装数据库驱动

    直接安装

    npm install mysql

    使用了淘宝定制的 cnpm 命令进行安装:

    cnpm install mysql

    连接数据库

    var mysql      = require('mysql');
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'root',
      password : '123456',
      database : 'chat'
    });
     
    connection.connect();
     
    connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
      if (error) throw error;
      console.log('The solution is: ', results[0].solution);
    });
    参数描述
      host 主机地址 (默认:localhost)
      user 用户名
      password 密码
      port 端口号 (默认:3306)
      database 数据库名
      charset 连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要写)

    更多说明可参见:https://github.com/mysqljs/mysql

    数据库操作( CURD )

    在进行数据库操作前,将用于测试的 SQL 文件websites.sql 导入到你的 MySQL 数据库中

      

    查询数据

    将 SQL 文件导入后,执行以下代码即可查询出数据:

    var mysql  = require('mysql');  
     
    var connection = mysql.createConnection({     
      host     : 'localhost',       
      user     : 'root',              
      password : '123456',       
      port     : '3306',                   
      database : 'chat' 
    }); 
     
    connection.connect();
     
    var  sql = 'SELECT * FROM websites';
    //
    connection.query(sql,function (err, result) {
            if(err){
              console.log('[SELECT ERROR] - ',err.message);
              return;
            }
     
           console.log('--------------------------SELECT----------------------------');
           console.log(result);
           console.log('------------------------------------------------------------
    
    ');  
    });
     
    connection.end();

    插入数据

    var  addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(0,?,?,?,?)';
    var  addSqlParams = ['菜鸟工具', 'https://c.runoob.com','23453', 'CN'];
    //
    connection.query(addSql,addSqlParams,function (err, result) {
            if(err){
             console.log('[INSERT ERROR] - ',err.message);
             return;
            }        
     
           console.log('--------------------------INSERT----------------------------');
           //console.log('INSERT ID:',result.insertId);        
           console.log('INSERT ID:',result);        
           console.log('-----------------------------------------------------------------
    
    ');  
    });

    更新数据

    var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?';
    var modSqlParams = ['菜鸟移动站', 'https://m.runoob.com',6];
    //
    connection.query(modSql,modSqlParams,function (err, result) {
       if(err){
             console.log('[UPDATE ERROR] - ',err.message);
             return;
       }        
      console.log('--------------------------UPDATE----------------------------');
      console.log('UPDATE affectedRows',result.affectedRows);
      console.log('-----------------------------------------------------------------
    
    ');
    });

    删除数据

    var delSql = 'DELETE FROM websites where id=6';
    //
    connection.query(delSql,function (err, result) {
            if(err){
              console.log('[DELETE ERROR] - ',err.message);
              return;
            }        
     
           console.log('--------------------------DELETE----------------------------');
           console.log('DELETE affectedRows',result.affectedRows);
           console.log('-----------------------------------------------------------------
    
    ');  
    });

    参考链接:https://www.runoob.com/nodejs/nodejs-mysql.html

  • 相关阅读:
    引用同一解决方案里的其他项目
    使用OpenXml打开word文档中嵌入的另一个文档
    把最近踩的坑总结一下(2)——二级MSoffice题库软件自动更新版本V2.0
    把最近踩的坑总结一下(1)——二级MSoffice题库软件自动更新版本V2.0
    脑残系列(1)
    前端Crypto.JS加密解密
    在构造函数时 new做的四件事情
    js创建对象的四种方式
    VS-Code背景图片
    单行、多行文本溢出以省略号显示
  • 原文地址:https://www.cnblogs.com/lfri/p/12009357.html
Copyright © 2020-2023  润新知