nodejs服务器框架express如何实现mysql数据库的增删改查CURD操作
2018/06/20 18:37 分类: 技术交流 浏览:553
nodejs环境下操作mongodb数据库,我想大家都非常熟悉了。由于公司要新上一个超市管理系统需要使用nodejs+express+ajax+mysql来实现,所以对mysql如何在nodejs环境下使用做了初步研究,现就nodejs中实现对mysql的只能删改查操作做个总结。
1. 使用nodejs框架express搭建服务器
安装nodejs的过程就不再描述了,要使用express的全局安装express项目生成器:
Npm i –g express-generator
使用express命令生成一个项目:
Express –e myproject
进入目录并安装依赖:
Cd myproject
Npm i
修改服务器端口为8081,启动服务器
App.listen(8081,function(){});
Node app
只要看到如图所示界面,就预示着nodejs express环境配置完成:
2. 安装mysql模块并配置
Mysql数据库的安装就不具体阐述了哦,先说一说如何安装mysql模块:
Npm i mysql
接下来引入mysql模块
var mysql = require('mysql');
数据库链接配置文件DBConfig.js并添加如下内容
module.exports =
{
var connection = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: '你的数据库Coonection密码',
database:' my_news',
port: 3306
});
};
数据库连接参数说明:
参数
|
描述
|
host
|
主机地址 (默认:localhost或者127.0.0.1)
|
user
|
用户名
|
password
|
密码
|
port
|
端口号 (默认:3306)
|
database
|
数据库名
|
charset
|
连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
|
localAddress
|
此IP用于TCP连接(可选)
|
socketPath
|
连接到unix域路径,当使用 host 和 port 时会被忽略
|
timezone
|
时区(默认:'local')
|
connectTimeout
|
连接超时(默认:不限制;单位:毫秒)
|
stringifyObjects
|
是否序列化对象
|
typeCast
|
是否将列值转化为本地JavaScript类型值 (默认:true)
|
queryFormat
|
自定义query语句格式化方法
|
supportBigNumbers
|
数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
|
bigNumberStrings
|
supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
|
dateStrings
|
强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
|
debug
|
开启调试(默认:false)
|
multipleStatements
|
是否许一个query中有多个MySQL语句 (默认:false)
|
flags
|
用于修改连接标志
|
ssl
|
使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
|
3. 使用cmd控制台语句创建好数据库和数据表
创建数据库:
Source Database : my_news
如果存在删除用户表:
DROP TABLE IF EXISTS `node_user`;
创建用户表:
id: 自增主键
name:名字,有unique的限制
age: 年龄
CREATE TABLE `node_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) DEFAULT NULL,
`age` int(8) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
插入5条测试数据:
INSERT INTO `node_user` VALUES ('1', 'admin', '32');
INSERT INTO `node_user` VALUES ('2', 'dans88', '45');
INSERT INTO `node_user` VALUES ('3', '张三', '35');
INSERT INTO `node_user` VALUES ('4', 'ABCDEF', '88');
INSERT INTO `node_user` VALUES ('5', '李小二', '65');
4. mysql数据库增删改查操作( CURD )
4.1、增加操作
connection.connect();
var userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';
var userAddSql_Params = ['Wilson', 55];
connection.query(userAddSql,userAddSql_Params,function (err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
return;
}
console.log('-------INSERT----------');
//console.log('INSERT ID:',result.insertId);
console.log('INSERT ID:',result);
console.log('#######################');
});
connection.end();
4.2、修改操作
connection.connect();
var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';
var userModSql_Params = ['Hello World',99,7];
connection.query(userModSql,userModSql_Params,function (err, result) {
if(err){
console.log('[UPDATE ERROR] - ',err.message);
return;
}
console.log('----------UPDATE-------------');
console.log('UPDATE affectedRows',result.affectedRows);
console.log('******************************');
});
connection.end();
4.3、查询操作
connection.connect();
var userGetSql = 'SELECT * FROM node_user';
connection.query(userGetSql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
console.log('---------------SELECT----------------');
console.log(result);
console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$');
});
connection.end();
显示结果如下:
4.4、删除操作
onnection.connect();
var userDelSql = 'DELETE FROM node_user WHERE id = 7';
connection.query(userDelSql,function (err, result) {
if(err){
console.log('[DELETE ERROR] - ',err.message);
return;
}
console.log('-------------DELETE--------------');
console.log('DELETE affectedRows',result.affectedRows);
console.log('&&&&&&&&&&&&&&&&&');
});
connection.end();
感谢源码时代教学讲师提供此文章!
本文为原创文章,转载请注明出处!
赞 0