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

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('--------------------------\n\n');
});


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('--------------------------------\n\n');
});

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('-------------------------------\n\n');
});


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('------------------------\n\n');
});

connection.end();

posted on   漫思  阅读(7)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2023-02-15 “开源 core-js 也许是我一生中最大的错误”
2023-02-15 如何解决Reporting Services目录数据库文件存在的问题
2023-02-15 怎么处理Reporting Services目录数据库文件存在的问题?
2023-02-15 Redis配置以及通过C#访问小试
2023-02-15 从 Newtonsoft.Json 迁移到 System.Text.Json
2023-02-15 动态Entity Framework查询:Dynamic Query 介绍
2023-02-15 asp.net 开发优秀博客

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示