zoukankan      html  css  js  c++  java
  • Node js MySQL简单操作

    //win7环境下node要先安装MySQL的相关组件(非安装MySQL数据库),在cmd命令行进入node项目目录后执行以下语句
    //npm install mysql
    
    
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
        host     : 'localhost',
        port     : '3306',
        user     : 'root',
        password : '123456',
        database : 'test'
    });
    /*
    mysql.createConnection 数据库连接参数说明:
    host               : 主机地址 (默认:localhost)
    user               : 用户名
    password           : 密码
    port               : 端口号 (默认:3306)
    database           : 数据库名
    charset            : 连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
    localAddress       : 此IP用于TCP连接(可选)
    socketPath         : 连接到unix域路径,当使用 host 和 port 时会被忽略
    timezone           : 时区(默认:'local')
    connectTimeout     : 连接超时(默认:不限制;单位:毫秒)
    stringifyObjects   : 是否序列化对象
    typeCast           : 是否将列值转化为本地JavaScript类型值 (默认:true)
    queryFormat        : 自定义query语句格式化方法
    supportBigNumbers  : 数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
    bigNumberStrings   : supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
    dateStrings        : 强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
    debug              : 开启调试(默认:false)
    multipleStatements : 是否许一个query中有多个MySQL语句 (默认:false)
    flags              : 用于修改连接标志
    ssl                : 使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
    */
    connection.connect();
     
    
    //查询数据
    var  sel_sql = 'SELECT * FROM tablename';
    connection.query(sel_sql, function (error, results, fields) {
        if(error){
            console.log('[SELECT ERROR] - ',error.message);
            //throw error;
            return;
        }
        //fields为连接的数据库信息
        //console.log(fields);
        console.log(results[0].name);//返回数据第一行中name字段的值
    });
    
    /*
    执行查询返回结果
    名称1
    */
    
    
    
    
    
    //插入数据
    var add_sql    = 'INSERT INTO tablename(id, name, age, type) VALUES(3,?,?,?)';
    var add_params = ['名称3', 100, '测试'];
    connection.query(add_sql,add_params, function (error, results, fields) {
        if(error){
            console.log('[INSERT ERROR] - ',error.message);
            //throw error;
            return;
        }
        console.log('--------------------------INSERT----------------------------');
        //results.insertId新插入数据的id
        //console.log('INSERT ID:',results.insertId);
        console.log('INSERT ID:',results);
        console.log('-----------------------------------------------------------------
    
    ');
    });
    
    /*
    执行插入返回结果
    --------------------------INSERT----------------------------
    INSERT ID: OkPacket {
      fieldCount: 0,
      affectedRows: 1,
      insertId: 3,
      serverStatus: 2,
      warningCount: 0,
      message: '',
      protocol41: true,
      changedRows: 0 }
    -----------------------------------------------------------------
    
    */
    
    
    
    
    
    //更新数据
    var update_sql    = 'UPDATE tablename SET name = ?, age = ?, type = ? WHERE Id = ?';
    var update_params = ['名称22', 120, '正式', 2];
    connection.query(update_sql,update_params, function (error, results, fields) {
        if(error){
            console.log('[UPDATE ERROR] - ',error.message);
            //throw error;
            return;
        }
        console.log('--------------------------UPDATE----------------------------');
        //results.changedRows 改变表的条数,未改变返回0
        console.log('UPDATE tablename',results.changedRows);
        console.log('-----------------------------------------------------------------
    
    ');
    });
    
    /*
    执行更新返回结果
    --------------------------UPDATE----------------------------
    UPDATE tablename 1
    -----------------------------------------------------------------
    */
    
    
    
    
    
    //删除数据
    var delete_sql = 'DELETE FROM tablename WHERE id = 3';
    connection.query(delete_sql, function (error, results, fields) {
        if(error){
            console.log('[DELETE ERROR] - ',error.message);
            //throw error;
            return;
        }
        console.log('--------------------------DELETE----------------------------');
        //results.affectedRows 影响的条数,一条未删,返回0
        console.log('DELETE tablename',results.affectedRows);
        console.log('-----------------------------------------------------------------
    
    ');
    });
    
    /*
    执行删除返回结果
    --------------------------DELETE----------------------------
    DELETE tablename 1
    -----------------------------------------------------------------
    */
    
    
    
    //结束连接
    connection.end();
  • 相关阅读:
    二叉树基本操作(二)
    二叉树基本操作(一)
    数组的方式实现--栈 数制转换
    数据的插入与删除
    链表 创建 插入 删除 查找 合并
    ACM3 求最值
    ACM2 斐波那契数列
    ACM_1 大数求和
    简单二维码生成及解码代码:
    ORM中去除反射,添加Expression
  • 原文地址:https://www.cnblogs.com/dreamhome/p/8635659.html
Copyright © 2011-2022 走看看