028-86261949

当前位置:首页 > 技术交流 > nodejs服务器框架express如何实现mysql数据库的增删改查CURD操作

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


 

   感谢源码时代教学讲师提供此文章!
   本文为原创文章,转载请注明出处!
#标签:nodejs服务器框架express,mysql数据库,CURD操作