美文网首页OnlyJSNode.js
nodejs-mysql基础操作

nodejs-mysql基础操作

作者: AdrianRD | 来源:发表于2016-11-15 11:28 被阅读181次

    新建数据表

    使用Navicat for mysql之类的工具新建数据

    • 新建名为my_news_test的数据库
    • 在my_news_test中使用如下代码创建数据表
    CREATE TABLE `node_user` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(30) DEFAULT NULL,
      `age` int(8) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
    INSERT INTO `node_user` VALUES ('1', 'admin', '32');
    INSERT INTO `node_user` VALUES ('2', 'dans88', '45');
    INSERT INTO `node_user` VALUES ('3', '张三', '35');
    INSERT INTO `node_user` VALUES ('4', 'ABCDEF', '88');
    INSERT INTO `node_user` VALUES ('5', '李小二', '65');
    
    创建数据表

    创建完成后刷新数据库,可以看到新增了一个表,且有五条数据


    查看数据

    接下来,就要开始使用nodejs来操作了

    安装node-mysql

    npm install mysql

    测试连接

    在根目录下新建test.js,测试是否能成功连接到mysql,js代码如下

    var mysql = require('mysql'); 
    var TEST_DATABASE = 'my_news_test'; 
    var TEST_TABLE = 'node_user'; 
    //创建连接 
    var client = mysql.createConnection({ 
      user: 'root', 
      password: 'angel', 
    }); 
    client.connect();
    client.query("use " + TEST_DATABASE);
    client.query( 
      'SELECT * FROM '+TEST_TABLE, 
      function selectCb(err, results, fields) { 
        if (err) { 
          throw err; 
        } 
           if(results)
          {
              for(var i = 0; i < results.length; i++)
              {
                  console.log("%d\t%s\t%s", results[i].id, results[i].name, results[i].age);
              }
          }   
        client.end(); 
      } 
    );
    

    在cmd中执行上面的js文件,打印如下为正常


    测试连接

    新建insert.js文件,代码如下

    var mysql  = require('mysql'); 
    var connection = mysql.createConnection({    
      host     : '127.0.0.1',      
      user     : 'root',             
      password : 'angel',      
      port: '3306',                  
      database: 'my_news_test',
    });
     
    connection.connect();
    
    var  userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';
    var  userAddSql_Params = ['Wilson', 55];
    //增 add
    connection.query(userAddSql,userAddSql_Params,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('#######################'); 
    });
    connection.end();
    

    再打开Navicat for mysql查看数据库,是否成功插入一条数据

    成功插入一条数据

    新建名为update.js的文件,代码如下

    var mysql  = require('mysql'); 
     
    var connection = mysql.createConnection({    
      host     : '127.0.0.1',      
      user     : 'root',             
      password : 'angel',      
      port: '3306',                  
      database: 'my_news_test',
    });
     
    connection.connect();
     
    var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';
    var userModSql_Params = ['Hello World',99,6];
    //改 up
    connection.query(userModSql,userModSql_Params,function (err, result) {
       if(err){
             console.log('[UPDATE ERROR] - ',err.message);
             return;
       }       
      console.log('----------UPDATE-------------');
      console.log('UPDATE affectedRows',result.affectedRows);
      console.log('******************************');
    });
     
    connection.end();
    

    运行上面的代码

    执行代码

    刷新Navicat for mysql,查看数据是否已被成功修改


    修改成功

    新建query.js文件,代码如下:

    var mysql  = require('mysql'); 
     
    var connection = mysql.createConnection({    
      host     : '127.0.0.1',      
      user     : 'root',             
      password : 'angel',      
      port: '3306',                  
      database: 'my_news_test',
    });
     
    connection.connect();
     
    var  userGetSql = 'SELECT * FROM node_user';
    //查 query
    connection.query(userGetSql,function (err, result) {
            if(err){
              console.log('[SELECT ERROR] - ',err.message);
              return;
            }       
     
           console.log('---------------SELECT----------------');
           console.log(result);       
           console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'); 
    });
     
    connection.end();
    
    执行代码

    新建del.js文件,代码为

    var mysql  = require('mysql'); 
     
    var connection = mysql.createConnection({    
      host     : '127.0.0.1',      
      user     : 'root',             
      password : 'angel',      
      port: '3306',                  
      database: 'my_news_test',
    });
     
    connection.connect();
     
    var  userDelSql = 'DELETE FROM node_user WHERE id = 5';
    //ɾ
    connection.query(userDelSql,function (err, result) {
            if(err){
              console.log('[DELETE ERROR] - ',err.message);
              return;
            }       
     
           console.log('-------------DELETE--------------');
           console.log('DELETE affectedRows',result.affectedRows);
           console.log('&&&&&&&&&&&&&&&&&'); 
    });
     
    connection.end();
    

    执行代码

    执行成功

    刷新Navicat for mysql,查看数据是否已被删除


    查看是否删除成功

    相关文章

      网友评论

        本文标题:nodejs-mysql基础操作

        本文链接:https://www.haomeiwen.com/subject/jkbkpttx.html