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();
Node.js 实现 MySQL 数据库增删改查的更多相关文章
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- MySQL数据库(增删改查语句)
MySQL数据库(增删改查语句)一.登录数据库:----> mysql -uroot -proot;(对应用户名和密码)二.SQL语句: 数据定义语言DDL 用来定义数据库.表.列,关 ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- Python实现mysql数据库增删改查
利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装! 1. 环境配置 安装第三方包 ,导入模块 mysql.connector pip inst ...
- jsp-2 简单的servlet连接mysql数据库 增删改查
连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...
- 安卓版php服务器的mysql数据库增删改查简单案例
界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- python2.7入门---操作mysql数据库增删改查
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: G ...
- MySQL数据库增删改查等常用命令介绍
MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...
随机推荐
- Android ImageView属性
ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...
- java读取IFC文件
The IFC JAVA Toolbox can read IFC STEP files and IFCZIP files from any data source that implementsja ...
- Linux实现定时备份MySQL数据库并删除30天前的备份文件
1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password ...
- ETF计算公司:现金差额
T日现金差额=T日最小申赎单位的基金净值-(申购.赎回清单中必须现金替代的替代金额+申购.赎回清单中可以现金替代成份证券的数量与T日收盘价之和+申购.赎回清单中禁止现金替代成份证券的数量与T日收盘价之 ...
- China.NETConf2019 - 用ASP.NETCore构建可检测的高可用服务
一.前言 2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师.志愿者 ...
- [数据结构 - 第3章] 线性表之双向链表(C语言实现)
一.什么是双向链表? 双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域.所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前 ...
- ActiveMQ 安装方法
1. 打开浏览器,访问网址 http://activemq.apache.org/components/classic/download/ ,下载最新的版本,当前最新版本为5.15.9,根据Activ ...
- vs code 自定义配置记录
java环境安装:https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-code-java-installer/ 保 ...
- javascript两种循环写法
var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; ...
- 解决 niceScroll 自适应DOM 高度变化
利用dataTable展示数据列表时,当选择每页显示数量时,滚动条还是按照页面初始化时显示的,导致无法滚动查看下面的数据, 在stackoverflower 找到一个可用的方法,但不知道为什么仅写 ...