node mysql的增删改查基础

news2024/11/20 7:27:18

学习koa时,不选择mongodb,而是MySQL,虽然node对mongodb更亲和,但是我感觉MySQL的键值对的储存结构更正规

1.首选确认你的数据库有个库。有个表,我的如下

在这里插入图片描述

2.配置

let mySqlConfig={
    host:'localhost',
    user:'root',
    password:'123456',
    database:'X',
    port:'3306'
}
module.exports=mySqlConfig
const mysql=require('mysql');
const mysqlConfig=require('../config/');//上面的mySqlConfig代码
var connection = mysql.createConnection(mysqlConfig);
connection.connect();

1.查

const c = 'SELECT * FROM user';
connection.query(c,function (err, result) {
    if(err){
     console.log('[SELECT ERROR] - ',err.message);
     return;
    }
    console.log('---------------SELECT----------------');
    console.log(result);
    console.log('-------------------------------------');
});

结果
在这里插入图片描述

2.改

const userModSql = 'UPDATE user SET name = ?,sex = ? ,age= ? where id= ?';
const userModSql_Params = ["王五","女","22","3"];
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('******************************');
  });

结果
在这里插入图片描述

3.删

const userDelSql = 'DELETE FROM user WHERE id = 3';
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('*********************************');
});

结果
在这里插入图片描述

4.增

const  sql = 'INSERT INTO user(name,sex,age) VALUES(?,?,?)';
const  params = ['张四', '男','21'];
connection.query(sql, params, function (err, result) {
    if(err){
        console.log('[UPDATE ERROR] - ',err.message);
        return;
     }
    console.log('----------UPDATE-------------');
    console.log('UPDATE affectedRows',result.affectedRows);
    console.log('******************************');
});

结果
在这里插入图片描述

完整一套

const mysql=require('mysql');
const mysqlConfig=require('../config/');
var connection = mysql.createConnection(mysqlConfig);
connection.connect();

//查 query
const c = 'SELECT * FROM user';
connection.query(c,function (err, result) {
    if(err){
     console.log('[SELECT ERROR] - ',err.message);
     return;
    }
    console.log('---------------SELECT----------------');
    console.log(result);
    console.log('-------------------------------------');
});

// 增 insert
const  sql = 'INSERT INTO user(name,sex,age) VALUES(?,?,?)';
const  params = ['张四', '男','21'];
connection.query(sql, params, function (err, result) {
    if(err){
        console.log('[UPDATE ERROR] - ',err.message);
        return;
     }
    console.log('----------UPDATE-------------');
    console.log('UPDATE affectedRows',result.affectedRows);
    console.log('******************************');
});

// //改 update
const userModSql = 'UPDATE user SET name = ?,sex = ? ,age= ? where id= ?';
const userModSql_Params = ["王五","女","22","3"];
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('******************************');
  });

//删 delete
const userDelSql = 'DELETE FROM user WHERE id = 3';
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();

查询语句不会的就直接看看MySQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791542.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单列集合--List

方法演示&#xff1a; package exercise;import java.util.ArrayList; import java.util.List;public class ListDemo1 {public static void main(String[] args) {List<String> list new ArrayList<>();list.add("hello");list.add("world"…

【MATLAB源码-第222期】基于matlab的改进蚁群算法三维栅格地图路径规划,加入精英蚁群策略。包括起点终点,障碍物,着火点,楼梯。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蚁群算法&#xff08;Ant Colony Optimization&#xff0c;ACO&#xff09;是一种通过模拟蚂蚁觅食行为的启发式优化算法。它由意大利学者Marco Dorigo在20世纪90年代初提出&#xff0c;最初用于解决旅行商问题&#xff08;T…

LabVIEW源程序安全性保护综合方案

LabVIEW源程序安全性保护综合方案 一、硬件加密保护方案 选择和安装硬件设备 选择加密狗和TPM设备&#xff1a;选择Sentinel HASP加密狗和支持TPM&#xff08;可信平台模块&#xff09;的计算机主板。 安装驱动和开发工具&#xff1a;安装Sentinel HASP加密狗的驱动程序和开发…

Linux: ubi rootfs 加载故障案例

文章目录 1. 前言2. ubi rootfs 加载故障现场3. 故障分析与解决4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. ubi rootfs 加载故障现场 问题故障内核日志如下&#xff1a; Star…

python-01

第一个程序 import randomcomputer random.randint(1, 3) print(电脑出的是&#xff1a;, computer) i int(input(你要出什么&#xff1f;1代表石头&#xff0c;2代表剪刀&#xff0c;3代表布\n)) if i computer:print(平局) elif (computer 1 and i 3) or (computer 2 …

DP动态规划(上)

文章目录 动态规划基本概念斐波那契数列问题C 实现Python 实现Java 实现 迷你结C、Python和Java在实现动态规划时有哪些性能差异&#xff1f;迷你结哪种语言在动态规划中更适合大规模数据处理?迷你结C有哪些知名的库适用于动态规划和大数据处理?动态规划辅助库大数据处理库 迷…

vs2019 c++20 规范 STL库中关于时间的模板 ratio<T,U> , duration<T,U> , time_point<T,U>等

(探讨一)在学习线程的时候&#xff0c;一些函数会让线程等待或睡眠一段时间。函数形参是时间单位&#xff0c;那么在 c 中是如何记录和表示时间的呢&#xff1f;以下给出模板简图&#xff1a; &#xff08;2 探讨二&#xff09;接着给出对模板类 duration_values 的成员函数的测…

STM32(八):独立看门狗 (标准库函数)

前言 上一篇文章介绍了STM32单片机中的USART串口通信&#xff0c;这篇文章我们来介绍一下如何用STM32单片机中的独立看门狗来实现检测按键点灯的程序。 一、实验原理 单片机系统会由于受到外界的干扰&#xff0c;而造成程序执行紊乱&#xff0c;系统无法正常运行。为了防止这…

从学士-硕士-博士-博士后-副教授-教授-优青-杰青-长江-院士:一文看懂学术巨人的成长历程

会议之眼 快讯 学术之路&#xff0c;如同攀登一座高耸入云的山峰&#xff0c;需要毅力、智慧和不断的求知探索。从奠定基础的学士&#xff0c;到站在学术巅峰的院士。这条成长之路充满了挑战和机遇。 如果把学术界比作王者荣耀&#xff0c;那么学者们的成长历程就像是在进行一…

mediasoup基础概览

提示&#xff1a;本文为之前mediasoup基础介绍的优化 mediasoup基础概览 架构&#xff1a;2.特性&#xff1a;优点缺点 3.mediasoup常见类介绍js部分c 4.mediasoup类图5.业务类图 Mediasoup 是一个构建在现代 Web 技术之上的实时通信&#xff08;RTC&#xff09;解决方案&#…

Day13:vw 和 vh 基本使用

目标&#xff1a;使用 vw 和 less 完成移动端的布局。 一、vw 适配方案 1、vw 和 vh 基本使用 vw 和 vh 是相对单位&#xff0c;相对视口尺寸计算结果。 vw&#xff1a;viewport width&#xff08;1vw 1/100视口宽度 &#xff09;vh&#xff1a;lviewport height ( 1vh 1/…

企业为么要建设数据可视化大屏?简要的告诉您答案

1、在数字时代的浪潮中&#xff0c;数据已经成为企业决策和操作的重要基础。因此&#xff0c;“数据可视化大屏方案”逐渐成为业界关注的焦点。 2、数据可视化大屏通过将复杂的数据集合以直观的形式展现出来&#xff0c;帮助决策者快速把握信息&#xff0c;让决策者做出更加明…

Python04:python代码设置作者/创建时间/文件名称

我们新建一个py文件时&#xff0c;如果希望文件开头有固定的内容&#xff0c;怎么设置呢&#xff1f; 比如代码作者、文件创建时间等。。。 1、点击左上角【Python】–>【Settings】设置 2、在弹出的新窗口找到【File and Code Templates】–>【Python Script】–>在右…

【javaEE初阶】

&#x1f308;&#x1f308;&#x1f308;关于java ⚡⚡⚡java的由来 我们这篇文章主要是来介绍javaEE&#xff0c;一般称为java企业版&#xff0c;实际上java的历史可以追溯到上个世纪90年代&#xff0c;当时主要的语言主流的还是C语言和C&#xff0c;但是在那个时期嵌入式初…

Unity中帧动画素材的切割设置

有几个问题&#xff0c;美术在给我们帧动画的时候&#xff0c;一般都是给一个比较大的图&#xff0c;然后进行切割成多个sprite&#xff0c;导入到animation中 一般来说&#xff0c;进行那个autoSlide&#xff0c;自动切割就可以了 这个自动切割的图片会沿着有像素的最小包围…

运动会信息管理系统(Springboot+MySQL)

本课题旨在实现对运动会信息的全面管理&#xff0c;提供用户友好的界面和高效的操作体验。系统的基础功能包括运动员报名比赛、比赛成绩查询、资讯留言等。为了确保系统的高扩展性和稳定性&#xff0c;选用主流的开发技术&#xff0c;实现规范的项目结构和高效的性能。 技术选型…

Linux基础 (十四):socket网络编程

我们用户是处在应用层的&#xff0c;根据不同的场景和业务需求&#xff0c;传输层就要为我们应用层提供不同的传输协议&#xff0c;常见的就是TCP协议和UDP协议&#xff0c;二者各自有不同的特点&#xff0c;网络中的数据的传输其实就是两个进程间的通信&#xff0c;两个进程在…

VS2022,DLL1调用lib,lib调用DLL2

DLL1调用lib&#xff0c;lib调用DLL2 问题1&#xff1a;为什么在dll1中需要引入dll2的.lib文件 当你有一个工程&#xff08;dll1&#xff09;调用静态库&#xff08;lib&#xff09;&#xff0c;而静态库&#xff08;lib&#xff09;又调用另一个DLL&#xff08;dll2&#xf…

3D模型贴了白膜渲染漆黑一片---模大狮模型网

在3D建模与渲染的世界里&#xff0c;白膜通常作为基础的材质贴图&#xff0c;用于呈现模型的基本形状和轮廓。然而&#xff0c;当我们在3D Max软件中为模型贴上白膜后&#xff0c;却发现渲染结果漆黑一片&#xff0c;这无疑是一个令人困扰的问题。 一、材质与贴图问题 首先&am…

高通开发系列 - 借助libhybris库实现Linux系统中使用Andorid库(2)

By: fulinux E-mail: fulinuxsina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅&#xff01; 你的喜欢就是我写作的动力&#xff01; 返回&#xff1a;专栏总目录 目录 参考上一篇文章&#xff1a;高通开发系列 - 借助libhybris库实现Linux系统中使用And…