【目录】
Nodejs学习笔记(一)——基础之全局对象、包和npm
Nodejs学习笔记(二)——模块
Nodejs学习笔记(三)——同步和与异步之文件系统模块
Nodejs学习笔记(四)——http协议与服务器
Nodejs学习笔记(五)——express框架、路由(器)及中间件
Nodejs学习笔记(七)——接口API


文章目录

  • 一、Mysql模块连接
    • 1.引入mysql模块
    • 2.创建连接对象
    • 3.执行sql命令语句
      • 3.1查询
      • 3.2 插入数据
  • 二、连接池
    • 1.引入mysql模块
    • 2. 创建连接池对象
  • 三、占位符?
    • 3.1插入
    • 3.2 删除

属于第三方模块,Node.js下操作mysql数据库的模块

一、Mysql模块连接

下载安装
npm install mysql

1.引入mysql模块

const mysql = require('mysql');

2.创建连接对象

保证已在mysql中导入tedu数据库,详情导入方式可查看命令教学:Mysql(三)——(cmd)数据库的命令操作 — 2.1导入外部数据库sql文件

user和password以及database根据自己使用的更改!

createConnection() 创建普通连接

const c = mysql.createConnection({host: '127.0.0.1',      //域名/IPport: '3306',           //端口user: 'root',           //数据库的用户名password: '123456',     //密码database: 'tedu'        //连接成功后要进入的数据库
});

可以使用c.connect();测试连接

3.执行sql命令语句

query(sql, callback(err, result));
异步操作,通过回调函数获取结果

  • err 可能产生的错误结果
  • result 成功的结果

3.1查询

var sql = 'select * from  emp'
c.query(sql, function(err, result) {if (err) throw err;console.log(result);
});

将打印emp表中所有表项:

.
.
.

3.2 插入数据

//null自增,插入一条数据到emp中
var sql = "insert into emp values(null,'Elegant', 0, '2000-10-22', 10000, 10)";
c.query(sql, function(err, result) {if (err) throw err; console.log(result);
});

再次查询,则可以看到多出一项,插入成功:

二、连接池

1.引入mysql模块

const mysql = require('mysql');

2. 创建连接池对象

const pool = mysql.createPool({host: '127.0.0.1',port: '3306',user: 'root',password: '123456',database: 'tedu',connectionLimit: 15 //连接池大小
});

三、占位符?

占位符(?):mysql模块提供,用于过滤用户提供的数据,防止sql注入
SQL注入:在让用户提供的值中出现了对数据库有攻击的命令(引号问题)

第二个参数为一个数组,代表占位符表示的对应的数据

let obj = {eid: null,ename: 'Erya',sex: 0,birthday: '2000-08-22',salary: 15000,deptId: 10
}

3.1插入

法一:原始方法

pool.query('insert into emp values(?,?,?,?,?,?)',[obj.eid, obj.ename, obj.sex, obj.birthday, obj.salary, obj.deptId], (err, result)=>{if (err) throw err;console.log(result);
});

法二:直接set 插入对象

pool.query('insert into emp set ?',[obj], (err, result)=>{if (err) throw err;console.log(result);
})

3.2 删除

let eid = 19;
pool.query('delete from emp where eid = ?',[eid],(err, result)=>{if (err) throw err;console.log(result);
});

Nodejs学习笔记(六)——Mysql模块相关推荐

  1. 好程序员web前端分享Nodejs学习笔记之Stream模块

    好程序员web前端分享Nodejs学习笔记之Stream模块 一,开篇分析 流是一个抽象接口,被 Node 中的很多对象所实现.比如对一个 HTTP 服务器的请求是一个流,stdout 也是一个流.流 ...

  2. nodejs学习笔记-用http模块开启服务器端口

    服务端代码: javascript// 引入nodejs中的http模块 var http = require('http');// 创建createServer方法用于接受http客户端请求及返回响 ...

  3. Nodejs学习笔记(二)——模块

    [目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http协议与服务器 Nodejs学习笔记( ...

  4. Nodejs学习笔记(七)——接口API

    [目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http ...

  5. Nodejs学习笔记(四)——http协议与服务器

    [目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(五)--expr ...

  6. Nodejs学习笔记(一)——基础之全局对象、包和npm

    [目录] Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http协议与服务器 Nodejs学习笔记(五)--express ...

  7. NodeJS学习笔记: RESTful —— 为本系列做个小结

    前言 本人不是技术专家,该笔记只是从使用语言进行开发的层面上记录一些体会,不包含也不想尝试从源码或者更深的层次去讨论语言本身的优劣.文章内容是笔者的个人感悟,既不保证正确性,也不保证别人能看懂. 这是 ...

  8. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  9. nodejs学习笔记(上)

    nodejs学习笔记 (上) 通过学习需要做到的是 了解 前后端是如何进行交互的 nodejs也是使用javaScript进行编写的 javaScript在不同的运行环境中有不同的作用 在浏览器内核中 ...

最新文章

  1. cdn大全 jquery/jqueryUI/Dojo/MooTools/Prototype
  2. Spring配置中context:annotation-config VS context:component-scan
  3. Nginx负载均衡策略之轮询与加权轮询
  4. 【Transformer】视觉Transformer最新进展——持续更新
  5. 如何制作毛玻璃效果?
  6. 直接插入排序的python实现
  7. 苹果手机软件升级密码_给iOS应用设置一个密码锁
  8. ini配置文件读写(大华)
  9. 2.心理学家-威廉.詹姆斯
  10. 推荐几个很实用的编程网站
  11. Kettle连接mysql 驱动报 Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found, make sure the ‘MySQL‘..
  12. Excel 划分各分数段并统计各分数段的人数
  13. Java实现凯撒密码、维吉尼亚密码、双换位密码、RC4算法加密
  14. 扩视教育 | 机器视觉培训大纲labview
  15. canvas中getContext(“2d“) 对象的属性和方法
  16. 【matlab】自定义颜色和线形绘图
  17. 小白兔写话_一年级小白兔看图写话
  18. 基于51单片机的智能垃圾桶
  19. html的em属性,css中的em是什么意思?
  20. Pytorch 目标检测和数据集

热门文章

  1. linux目录架构及常用的基本命令
  2. python中实现多线程的几种方式
  3. UVa 140 Bandwidth【枚举排列】
  4. PLSQL存储过程中的内部存储过程
  5. C#读书笔记之继承、接口与抽象类续
  6. lz0-007 读书笔记17
  7. angularjs控制器controller
  8. oracle数据库部署策略,Oracle数据库部署实施流程
  9. 查找两个单词链表共同后缀的起始结点(C++,单链表/双向链表解法)
  10. 输入一个字符串,删除汉字字符或者西文字符(C语言)