zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    docker使用以及dockerfile编写
    c++:空构造空析构的益处之一
    python os.path模块常用方法详解(转)
    enlarge your dataset
    解决镜像无法删除的问题multiple repositories
    Ubuntu 14.04 LTS 安装Docker(转)
    忘记root密码,怎么办
    [Unity3D]降低向Shader中传值的开销
    Shader预处理宏、内置状态变量、多版本编译等
    Unity Shader 常用函数列表
  • 原文地址:https://www.cnblogs.com/lfri/p/12009357.html
Copyright © 2011-2022 走看看