美文网首页
Nodejs搭配Mysql

Nodejs搭配Mysql

作者: 977777 | 来源:发表于2017-07-15 20:55 被阅读1910次

    终于有一天,自己开始主动写demo和总结。
    来看看怎么用强大的Nodejs来操作数据库吧。

    安装mysql的过程就不说啦,直接看我的数据库结构吧

    用户信息表

    1.连接数据库

    //connect.js
    const mysql = require("mysql");
    
    const connection = mysql.createConnection({
        host: "localhost",  //主机地址
        user: "root", //数据库用户名
        password: "123456", //数据库用户密码
        database: "test"  //数据库名
    });
    
    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);
    });  //检验连接成功
    

    执行 node connect.js
    出现The solution is: 2表示连接成功

    2.增加用户
    先连接数据库再定义增加用户的模板

    //userInsert.js
    const mysql = require("mysql");
    
    const connection = mysql.createConnection({
        host: "localhost",
        user: "root",
        password: "123456",
        database: "test"
    });
    
    connection.connect();
    //连接之后进行插入操作
    
    const addSql = 'insert user (id,name,sex,age,tel,mail,note) values(?,?,?,?,?,?,?)';
    const addSqlParams = [null,"孙","man",13,"1234567","234567@qq.com","fghavi"];
    
    connection.query(addSql,addSqlParams,function (err,result) {
        if(err){
            console.log('[INSERT ERROR] - ',err.message);
            return;
        }
    
        console.log('INSERT ID:',result);
    });
    
    connection.end();
    

    执行node userInsert.js

    插入执行结果g

    3.查询操作
    查询操作也要先链接数据库再对数据库进行操作

    const mysql = require("mysql");
    
    const connection = mysql.createConnection({
        host: "localhost",
        user: "root",
        password: "123456",
        database: "test"  
    });
    
    connection.connect();
    //连接之后进行查询操作
    
    const sql = "select * from user"; //选择所有
    connection.query(sql,function (err, result) {
        if(err){
            console.log('[SELECT ERROR] - ',err.message);
            return;
        }
        console.log(result);
    });  //输出查询结果
    
    connection.end();
    
    查询操作结果

    4.更新操作
    根据数据库的主键进行查询更新

    //userUpdate.js
    //连接数据库与之前的相同  连接之后进行修改
    const modSql = "update user set name=?,sex=?,age=?,tel=?,mail=?,note=? where id = ?";
     //根据id进行修改
    const modSqlParams = ["及","woman",32,"345678","ndsajvn@qq.com","adsvfadsv",2];
    //修改后的内容
    
    connection.query(modSql,modSqlParams,function (err, result) {
        if(err){
            console.log('[UPDATE ERROR] - ',err.message);
            return;
        }
        console.log('UPDATE success',result.affectedRows);
    });
    //输出更新是否成功
    connection.end();
    
    更新操作

    可以再对数据库进行查询判断是否更新成功

    5.数据库删除
    根据数据库主键对某一条记录进行删除操作

    //userDelete.js
    //l数据库连接之后进行删除操作
    
    const delSql = 'delete from user where id = "4"';
    //根据id删除
    connection.query(delSql,function (err, result) {
        if(err){
            console.log('[DELETE ERROR] - ',err.message);
            return;
        }
        console.log('DELETE success',result.affectedRows);
    });
    connection.end();
    

    执行node userDelete.js 可以看到删除结果,也可以通过数据库查询再判断是否删除成功。

    6.遇到的问题

    • musql无法显示中文
      alter table tbl_name convert to character set utf8;

    就这么多啦~

    相关文章

      网友评论

          本文标题:Nodejs搭配Mysql

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