IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Node的数据库编程(MySQL),增删改查 -> 正文阅读

[大数据]Node的数据库编程(MySQL),增删改查

目录

在项目中操作MySQL数据库的步骤

执行数据库的操作

查询数据

插入数据

修改数据

删除数据?


在项目中操作MySQL数据库的步骤

1、安装操作MySQL数据库的第三方模块(mysql)? ?

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。 想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包: npm install mysql?

2、通过mysql模块连接到MySQL数据库

配置mysql模块

//引入mysql2模块
const mysql = require('mysql2');
//2、创建数据库的连接
const connection = mysql.createConnection({
    host:'localhost',   //数据库服务器地址
    port:3306,    //mysql数据库的端口号
    user:'root',  //连接mysql的用户名
    password:'******',  //连接mysql的密码
    database:'dbms'   //要连接的数据库
})

3、通过mysql模块执行SQL语句

执行数据库的操作

在我的数据库dbms中存在一张student表为:

查询数据

A、普通查询:query(sql,回调函数)

B、条件查询:query(sqlString,values,回调函数),参数values对应的是sqlString中的占位符

示例:查询student表中cno为3的学生信息(?表示占位符)

//查询数据库中的表格的数据,回调函数中err参数存放的是查询错误的信息,若查询成功则result参数中放的是查询的结果集
//条件查询
connection.query({
    sql:'select * from student where cno = ?',
    values:['3']
},(err,result)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log(result);
})

//普通查询
connection.query('select * from indent',(err,result)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log(result);
})

?条件查询的结果为:

插入数据

Insert into 表名(列名…) values(值…)

示例:向表student中插入一行数据

var addsql = "insert into stu(sno,cno,sname,sgender,sage,saddress) values(?,?,?,?,?,?)";
var addsql_params = ['12','3','刘备','男','29','陕西'];
connection.query({
    sql:addsql,
    values:addsql_params
},(err,result)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log('插入结果为:'+result);
})

插入后的结果为:

修改数据

Update 表名 set 列名=值,… where 条件

注意:不加where条件就会把所有的数据都更新

示例:将刚才添加的数据中姓名修改为‘巴啦啦小魔仙’,年龄修改为27

var updatesql = "update student set sname=?,sage=? where sno=?";
var updatesql_params = ['巴啦啦小魔仙',27,'12'];
connection.query({
    sql:updatesql,
    values:updatesql_params
},(err,result)=>{
    console.log("受影响的行数:"+result.affectedRows);
    console.log("改变的行数:"+result.changedRows);
})

修改后的结果:

删除数据?

Delete from 表名 [where 条件]

示例:删除刚才添加的sno为12的学生信息

var delsql = "delete from student where sno=?";
connection.query(delsql,'12',(err,result)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log("删除的行数:"+result.affectedRows);
})

删除后的结果:

?注意:防止sql的注入式攻击的方法:

注入式攻击:在进行语句的增删改查等操作时若有人拦截并添加一条永远满足的语句则会查询出所有的数据信息

select from stu where Sid=’S_1001’ (注入式攻击如在后面加or 1=1)

(1)使用占位符:?(提前预编译)

(2)使用connection.escape([参数字段])对值进行转义

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:33:20  更:2021-10-20 12:33:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:07:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码