Nodejs》》MySql

Node.js 操作MySQL數據庫

文檔

# 項目要先安裝mysql包npm i mysql@xx   // 安裝指定版本npm i mysql      // 默認安裝最新版本
# 連接 mysq// 使用連接池連接const mysql = require('mysql')# 建立連接const db = mysql.createPool({host:'',             // 數據庫的IP地址user:'root',         // 登錄數據庫的賬號password:'密碼',     // 密碼database:'xxx'      //  指定要操作具體的數據庫  })# 測試mysq連接是否正常db.query('select 1',(err,results)=>{if(err) return console.log(err.message)//只要打印出  【RowDataPacket {'1':1}】 的結果,就證明數據庫連接正常	console.log(results)})# 插入數據
const user = {userName:'zen',age:33,gender:'男'}
//用英文 ? 占位符
const sqlstr = ' insert into users(userName , age, gender) values(?,?,?)'
// 使用數組的形式,依次為 ? 占位符指定具體的值 
db.query(sqlstr,[user.userName,user.age,user.gender],(err,results)=>{if(err) return console.log(err.message)if(results.affectedRows ===1){console.log('插入數據成功')}})# 插入數據的便捷方式  如果 插入的字段很多
# 向表中新增數據時,如果數據對象的每個屬性和數據表的字段  一一對應,則可以通過如下方式 快速插入數據
const user = {userName:'zen',age:33,gender:'男'}
//用英文 ? 占位符
const sqlstr = ' insert into users set ?'
// 直接將數據對象當作占位符的值 
db.query(sqlstr,user,(err,results)=>{if(err) return console.log(err.message)if(results.affectedRows ===1){console.log('插入數據成功')}})# 查詢數據  注意 注意  注意  如果執行的是 select 查詢語句,則執行的結果是數組const sqlstr = ' select *  from  users'
db.query(sqlstr,,(err,results)=>{if(err) return console.log(err.message)console.log(results)})#  更新數據
const user = {id:1001,userName:'zen',age:33,gender:'男'}
//用英文 ? 占位符
const sqlstr = ' update  users set userName = ?, age=?, gender=? where id=?'
// 使用數組的形式,依次為 ? 占位符指定具體的值 
db.query(sqlstr,[user.userName,user.age,user.gender,user.id],(err,results)=>{if(err) return console.log(err.message)// 注意 執行 update語句之后,執行的結果,也是一個對象,可以通過affectedRows 判斷是否更新成功if(results.affectedRows ===1){console.log('更新數據成功')}})#  更新數據便捷方式  跟插入類似  
# 更新表數據時,如果數據對象的每個屬性和數據表的字段  一一對應,則可以通過如下方式 快速更新數據
const user = {id:1001,userName:'zen',age:33,gender:'男'}
//用英文 ? 占位符
const sqlstr = ' update  users set ? where id=?'
// 使用數組的形式,依次為 ? 占位符指定具體的值 
db.query(sqlstr,[user.userName,user.id],(err,results)=>{if(err) return console.log(err.message)// 注意 執行 update語句之后,執行的結果,也是一個對象,可以通過affectedRows 判斷是否更新成功if(results.affectedRows ===1){console.log('更新數據成功')}})##  刪除數據//用英文 ? 占位符
const sqlstr = ' delete users  where id=?'
//   注意  注意  注意  注意  如果SQL語句中有多個占位符,則必須使用數組為每個占位符指定具體的值如果sql語句中只有一個占位符,則可以省略數組
db.query(sqlstr,1001,(err,results)=>{if(err) return console.log(err.message)// 注意 執行 update語句之后,執行的結果,也是一個對象,可以通過affectedRows 判斷是否更新成功if(results.affectedRows ===1){console.log('更新數據成功')}})

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92358.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92358.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92358.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

金倉數據庫常見問題(持續更新)

目錄 1.查看大小是否敏感寫參數,提示:未認可的配置參數 "case_sensitive" 2.sys_backup.sh init時提示can not connect the primary node 3.設置邏輯備份運行腳本時提示錯誤are not allowed to use this program (crontab) 4.修改表字段類…

Docker Buildx最佳實踐:多架構鏡像構建指南

文章目錄為什么需要 Docker Buildx安裝與啟用 Docker Buildx創建多架構構建器實例構建多架構鏡像優化構建性能調試多架構構建實戰案例:構建 Go 應用多架構鏡像總結Docker Buildx 是 Docker 官方推出的擴展工具,用于支持多平臺鏡像構建,簡化跨…

你用的是什么鍵盤?

在電競行業飛速發展的當下,游戲鍵盤作為玩家操作的核心載體,其性能表現直接影響著游戲體驗與競技結果。而賽卓電子推出的磁軸鍵盤專用芯片 SC4823,憑借一系列突破性的技術特性,正成為游戲鍵盤領域的性能革新者。?對于游戲玩家而言…

Activiti 中各種 startProcessInstance 接口之間的區別

前言在用 RuntimeService 接口啟動流程實例時,總是分不清楚不同 startProcessInstanceXXX 接口之間的區別,這篇文章基于 Activiti 7.0.0.GA 版本,對這一類接口進行一個梳理和歸類。詳解接口列表RuntimeService 接口中以 startProcessInstance…

新手BUG:函數中 static 變量的賦值語句只會執行一次

在 C 函數中使用 static 變量時,很多新手會陷入一個認知誤區:認為變量的初始化語句會在每次函數調用時執行。比如在bool funcA() { // Q:多次調用funcA,funcB會被執行幾次?// A:1次static bool value func…

Python 基礎詳解:數據類型(Data Types)—— 程序的“數據基石”

一、引言:為什么數據類型如此重要?在 Python 編程中,數據類型決定了:數據的存儲方式可以對數據執行的操作數據的取值范圍不同類型之間的運算規則理解數據類型是編寫正確、高效程序的基礎。Python 是動態類型語言,雖然你…

WindowsLinux系統 安裝 CUDA 和 cuDNN

Windows安裝前的準備工作 檢查硬件兼容性:確認電腦顯卡為 NVIDIA GPU。通過快捷鍵 Win R 喚出“運行”,輸入“control /name Microsoft.DeviceManager”喚出“設備管理器”,點擊“顯示適配器”查看是否有 NVIDIA 字樣。 驗證 CUDA 支持性&a…

工業數采引擎-通信鏈路SOCKET

通信庫:DotNetty 封裝實現:TcpServer、TcpClient、Udp TCP協議特性:面向連接協議;每個新連接都會創建獨立的ChannelHandler實例;TcpHandler構造函數在每次客戶端連接時觸發 UDP協議特性:無連接協議&#…

PHP小白零基礎入門(附視頻教程)

概述 PHP是一種通用開源腳本語言,常用于服務器端Web開發,具有語法簡單、上手快等特點。視頻教程:https://pan.quark.cn/s/8f214c23301b 搭建開發環境: 選擇集成工具:可選擇XAMPP(支持Windows/Mac/Linux…

驗證碼等待時間技術在酒店自助入住、美容自助與社區場景中的應用必要性研究—仙盟創夢IDE

代碼 代碼 完整<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>驗證碼倒計時</title><s…

Flask從入門到實戰:基礎、進階、項目架構與接口測試

本文將帶你從零開始掌握Flask框架&#xff0c;涵蓋基礎使用、進階技巧、項目架構設計&#xff0c;并提供完整的接口測試客戶端代碼。 目錄一、Flask基礎入門1.1 Flask簡介與安裝1.2 第一個Flask應用1.3 路由與請求處理1.4 請求與響應處理二、Flask進階使用2.1 模板引擎Jinja22.…

華為云產品圖解

框架圖核心說明: 1. 分層邏輯清晰 基礎設施層(IaaS):提供最基礎的計算(ECS/BMS)、存儲(OBS/EVS)、網絡(VPC/CDN)資源,是所有上層服務的 “物理底座”。 平臺服務層(PaaS):基于 IaaS 構建,提供容器編排(CCE)、數據庫(GaussDB)、大數據與 AI(ModelArts)、中…

Git 中如何回退到以前的提交記錄?

回答重點要在 Git 中回退到以前的提交記錄&#xff0c;你可以使用 git reset 命令。這個命令有三個常用選項來控制你想要回退的程度&#xff1a;1&#xff09; git reset --soft <commit> &#xff1a;僅修改 HEAD 指針&#xff0c;不修改索引和工作區內容。2&#xff09…

JavaWeb03——基礎標簽及樣式(表單)(黑馬視頻筆記)

1.表單標簽 及 表單屬性表單標簽是 &#xff1a;<form> 表單屬性有&#xff1a;action 和 method&#xff1b;action屬性&#xff1a;規定向何處發送表單數據。method屬性&#xff1a;規定用什么方法發送數據。&#xff08;get和post&#xff09;get:在發送的url后面拼接…

STM32的SPI通信(軟件讀寫W25Q64)

在了解完I2C通信后&#xff0c;不免會接觸到到SPI通信。而一開始&#xff0c;可能會覺得兩者好似沒什么區別。為什么要學SPI呢&#xff0c;I2C和SPI有什么區別呢。為此我詳細展開說說。1.什么是 SPI&#xff1f;SPI&#xff0c;全稱 Serial Peripheral Interface&#xff0c;中…

子詞分詞器(Byte Pair Encoding + WordPiece)

參考文章&#xff1a;子詞分詞器BPE和WordPiece理解_wordpeice-CSDN博客 子詞分詞器BPE和WordPiece理解_wordpeice-CSDN博客 WordPiece 和 BPE 的區別-CSDN博客 點互信息&#xff08;PMI&#xff09;和正點互信息&#xff08;PPMI&#xff09;-CSDN博客 https://zhuanlan.z…

阿里招AI產品運營

AI產品運營&#xff08;崗位信息已經過jobleap.cn授權&#xff0c;可在csdn發布&#xff09;靈犀互娛 廣州收錄時間&#xff1a; 2025年08月05日職位描述負責AI技術在游戲行業的應用與落地&#xff0c;專注于海外市場的運營中臺建設&#xff1b; 將結合AI技術與游戲行業特點&a…

Git 分支遷移完整指南(結合分支圖分析)

基于分支圖的當前狀態分析 分支圖關鍵信息解讀?分支結構?&#xff1a; #mermaid-svg-gc9SPnwlbrM2FzHf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-gc9SPnwlbrM2FzHf .error-icon{fill:#552222;}#mermaid-svg-…

小程序省市級聯組件使用

背景。uni-data-picker組件用起來不方便。調整后級聯效果欠佳&#xff0c;會關閉彈窗需要重新選擇。解決方案。讓cursor使用uniapp 原生組件生成懶加載省市級聯 <template><view class"picker-cascader"><view class"cascader-label">&l…

Java技術棧/面試題合集(8)-Redis篇

場景 Java入門、進階、強化、擴展、知識體系完善等知識點學習、性能優化、源碼分析專欄分享: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140870227 通過對面試題進行系統的復習可以對Java體系的知識點進行查漏補缺。 注: 博客: 霸道流氓氣質-CSDN博…