安装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. Android ImageView属性

    ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...

  2. java读取IFC文件

    The IFC JAVA Toolbox can read IFC STEP files and IFCZIP files from any data source that implementsja ...

  3. Linux实现定时备份MySQL数据库并删除30天前的备份文件

    1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password ...

  4. ETF计算公司:现金差额

    T日现金差额=T日最小申赎单位的基金净值-(申购.赎回清单中必须现金替代的替代金额+申购.赎回清单中可以现金替代成份证券的数量与T日收盘价之和+申购.赎回清单中禁止现金替代成份证券的数量与T日收盘价之 ...

  5. China.NETConf2019 - 用ASP.NETCore构建可检测的高可用服务

    一.前言 2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师.志愿者 ...

  6. [数据结构 - 第3章] 线性表之双向链表(C语言实现)

    一.什么是双向链表? 双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域.所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前 ...

  7. ActiveMQ 安装方法

    1. 打开浏览器,访问网址 http://activemq.apache.org/components/classic/download/ ,下载最新的版本,当前最新版本为5.15.9,根据Activ ...

  8. vs code 自定义配置记录

    java环境安装:https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-code-java-installer/ 保 ...

  9. javascript两种循环写法

    var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; ...

  10. 解决 niceScroll 自适应DOM 高度变化

    利用dataTable展示数据列表时,当选择每页显示数量时,滚动条还是按照页面初始化时显示的,导致无法滚动查看下面的数据,  在stackoverflower 找到一个可用的方法,但不知道为什么仅写  ...