• Node.js 实现 MySQL 数据库增删改查


    安装mysql

    $ npm isntall mysql
    

    连接数据库

    需要根据实际配置修改数据库用户名、及密码及数据库名

    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
      host: 'localhost',
      user: '***', // 用户名
      password: '***', // 密码
      port: '3306',
      database: 'node_mysql_test' // 数据库名称
    });
    
    connection.connect((err, result) => {
      if (err) {
        console.log(err);
        console.log("连接失败");
        return;
      }
      console.log(result);
      console.log("连接成功");
    });
    
    connection.end(); // 结束连接
    
    

    在 MySQL 数据库中创建初始数据

    终端输入:

    mysql -u 【数据库名称】 -p
    
    mysql> create database node_mysql_test default character set utf8 default collate utf8_general_ci;
    
    mysql> use node_mysql_test;
    
    mysql> source 『将users.sql文件直接拖拽至终端,自动补全其文件目录』
    

    将users.sql文件如下:

    SET NAMES utf8;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    --  Table structure for `users`
    -- ----------------------------
    DROP TABLE IF EXISTS `users`;
    
    CREATE TABLE `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` char(20) NOT NULL DEFAULT '' COMMENT '姓名',
      `email` varchar(255) NOT NULL DEFAULT '',
      `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄',
      `city` char(10) NOT NULL DEFAULT '' COMMENT '城市',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    --  Records of `users`
    -- ----------------------------
    BEGIN;
    INSERT INTO `users` VALUES ('1', '张三', 'zhangsan@qq.com', '18', '上海'), ('2', '李四', '1234@163.com', '23', '重庆'), ('3', '王五', 'abc@sina.cn', '33', '青岛'), ('4', '马六', '666@qq.com', '19', '南京');
    COMMIT;
    
    SET FOREIGN_KEY_CHECKS = 1;
    
    

    查询数据

    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
      host: 'localhost',
      user: '***',
      password: '***',
      port: '3306',
      database: 'node_mysql_test'
    });
    
    connection.connect((err, result) => {
      if (err) {
        console.log(err);
        console.log("连接失败");
        return;
      }
      console.log(result);
      console.log("连接成功");
    });
    
    /**
     * -------------------
     * 查询数据
     * -------------------
     */
    
    let selectSql = 'SELECT * FROM users';
    
    connection.query(selectSql, (err, result) => {
      if (err) {
        console.log('[SELECT 失败] - ', err.message);
        return;
      }
    
      console.log('--------------SELECT------------');
      console.log('查询成功:',result);
      console.log('--------------------------
    
    ');
    });
    
    
    connection.end();
    
    

    增加数据

    
    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
      host: 'localhost',
      user: '***',
      password: '***',
      port: '3306',
      database: 'node_mysql_test'
    });
    
    connection.connect((err, result) => {
      if (err) {
        console.log(err);
        console.log("连接失败");
        return;
      }
      console.log(result);
      console.log("连接成功");
    });
    
    /**
     * -------------------
     * 增加数据
     * -------------------
     */
    
    let addSql = 'INSERT INTO users(Id,name,email,age,city) VALUES(0,?,?,?,?)';
    let addSqlParams = ['赵七', '777@qq.com', '22', '大连'];
    
    connection.query(addSql, addSqlParams, (err, result) => {
      if (err) {
        console.log('[增加失败] - ', err.message);
        return;
      }
    
      console.log('--------------INSERT-------------');
      console.log('增加成功 ID:',result.insertId);
      console.log('增加成功:', result);
      console.log('--------------------------------
    
    ');
    });
    
    connection.end();
    
    

    更新数据

    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
      host: 'localhost',
      user: '***',
      password: '***',
      port: '3306',
      database: 'node_mysql_test'
    });
    
    connection.connect((err, result) => {
      if (err) {
        console.log(err);
        console.log("连接失败");
        return;
      }
      console.log(result);
      console.log("连接成功");
    });
    
    /**
     * -------------------
     * 更新数据
     * -------------------
     */
    
    let modSql = 'UPDATE users SET name = ?,email = ? WHERE Id = ?';
    let modSqlParams = ['Tom', 'tom@qq.com', 7];
    
    connection.query(modSql, modSqlParams,  (err, result) => {
      if (err) {
        console.log('[更新失败] - ', err.message);
        return;
      }
      console.log('----------UPDATE---------------');
      console.log('更新成功', result.affectedRows);
      console.log('-------------------------------
    
    ');
    });
    
    
    connection.end();
    

    删除数据

    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
      host: 'localhost',
      user: '***',
      password: '***',
      port: '3306',
      database: 'node_mysql_test'
    });
    
    connection.connect((err, result) => {
      if (err) {
        console.log(err);
        console.log("连接失败");
        return;
      }
      console.log(result);
      console.log("连接成功");
    });
    
    /**
     * -------------------
     * 删除数据
     * -------------------
     */
    
    let delSql = 'DELETE FROM users where id=4';
    
    connection.query(delSql, (err, result) => {
      if (err) {
        console.log('[删除失败] - ', err.message);
        return;
      }
    
      console.log('--------DELETE---------------');
      console.log('删除成功', result.affectedRows);
      console.log('------------------------
    
    ');
    });
    
    connection.end();
    
  • 相关阅读:
    用Python操纵文件(自动化脚本的第一步)
    关于Numpy Array的使用技巧整理
    有用的在线小工具汇总
    HackerRank刷题之路---Python
    周志华老师《机器学习》复习要点(持续更新)
    Python函数式编程学习笔记
    Supervised Descent Method学习之路(持续更新)
    HackerRank刷题之路之---Algorithm(基于Python2)(持续更新)
    Vim常用命令精简化汇总及Vim的相关配置问题
    在VC++6.0中,如何将多个工程添加到同一个工作区?
  • 原文地址:https://www.cnblogs.com/cckui/p/10904726.html
Copyright © 2020-2023  润新知