安装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();

Node.js 实现 MySQL 数据库增删改查的更多相关文章

  1. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  2. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

  3. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  4. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  5. Python实现mysql数据库增删改查

    利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装!   1. 环境配置 安装第三方包  ,导入模块 mysql.connector  pip inst ...

  6. jsp-2 简单的servlet连接mysql数据库 增删改查

    连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...

  7. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  8. python2.7入门---操作mysql数据库增删改查

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: G ...

  9. MySQL数据库增删改查等常用命令介绍

    MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...

随机推荐

  1. 解决:Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceMode

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Eric_K1m/article/deta ...

  2. Default Activity Not Found解决方法

    2018年04月07日 17:22:44 Luckily_Liu 阅读数 13573更多 分类专栏: android   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上 ...

  3. MQTT研究之EMQ:【EMQX使用中的一些问题记录(4)】

    最近比较忙,有些关于EMQ的使用问题,没有时间记录了,趁这个周末抽点时间,将最近遇到的,觉得比较有价值的一个问题,分享给大家吧. 这里是针对前面的一篇博客,做的一个深入研究,关于订阅系统总线判断设备上 ...

  4. mybatis一级二级缓存

    一级缓存分析 不需要任何配置 ,mybatis本身带有 一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓 ...

  5. 前端与算法 leetcode 189. 旋转数组

    目录 # 前端与算法 leetcode 189. 旋转数组 题目描述 概要 提示 解析 算法 # 前端与算法 leetcode 189. 旋转数组 题目描述 189. 旋转数组 概要 把他当做一到简单 ...

  6. Ubuntu18.04LTS python3.6 cuda10.0 下安装低版本的pytorch

    Ubuntu18.04LTS python3.6 cuda10.0 下安装低版本的pytorch,运行Hypergraph Neural Networks(HGNN) https://github.c ...

  7. 【转帖】Infor转型十年启示录:ERP套件厂商为什么要做云平台?

    Infor转型十年启示录:ERP套件厂商为什么要做云平台? https://www.tmtpost.com/4199274.html 好像浪潮国际 就是用的infor的ERP软件. 秦聪慧• 2019 ...

  8. 最少硬币数——Java

    问题:有n种硬币,面值分别为v1,v2,v3,…,vn,存于数组T[1:n]中,可以使用的各种面值的硬币个数存于数组Coins[1:n]中.对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法 ...

  9. 使用matplotlib绘制3D函数图像

    学习并尝试了利用matplotlib进行3D函数图像的绘制 import matplotlib.pyplot as plt # 绘图用的模块 from mpl_toolkits.mplot3d imp ...

  10. Docker之dockerfile制作jdk镜像

    目的: Dockerfile简介 Dockerfile制作jdk镜像 Dockerfile简介 了解dockerfile之前要先了解Docker基本概念和使用可参考:https://www.cnblo ...