Nodejs学习笔记(六)——Mysql模块

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



属于第三方模块,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',      //域名/IP
    port: '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);
});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你脸上有BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值