当前位置: 首页 > news >正文

前端基础知识---10 Node.js(三)

10.11 数据库

数据库:数据库是用来组织、存储和管理数据的仓库。

数据组织结构:数据以什么样的结构存储

传统数据库的数据组织结构:数据库、数据表、数据行、字段(相当于excel中的列)

10.11.2 SQL

SQL:是一种结构化查询语言,用于访问和处理数据库信息的编程语言

(1)select

-- 这是注释
-- 通过*查询所有列
select *from users
-- 从users表中查询到对应数据
select username,password from users

(2)insert

-- 向users表中加入新数据
insert into users (username,password) values ('qingqing','123999');
insert into users (username,password) values ('yxj','123999')

(3)update

-- 将password更新
update users set password = '88888' where id=2
update users set username='admin',password='99999' where id=1

(4)delete        (一定要记得加where!!!)

-- 删除操作
delete from users where id=2 

(5)and和or

(6)asc升序和desc降序

-- 升序和降序操作,升序是asc,降序是desc
select *from users order by id 
select *from users order by id desc

(7)count(*)

-- 使用count(*)统计
select count(*) from users where password='123999'

(8)as 给列名起别名

-- 使用AS关键字给列起别名
select count(*) as total from users where password='123999'

10.11.3 在项目中安装和配置mysql模块

//1.导入mysql模块
const mysql = require('mysql')
//2.建立与MySQL的连接关系
const db = mysql.createPool({host:'127.0.0.1',user:'root',password:'admin123',database:`my_db01`
})
//3.检查测试mysql模块能否正常工作
db.query('select 1',(err,results)=>{if(err)return console.log(err.message)console.log(results)
})

10.11.4 SQL语句

(1)插入

//插入数据
const user = {username:'Spider-man2',password:'pcc123'}
//定义待执行的SQL语句
const sqlStr1 = 'insert into users(username,password) values(?,?)'  //执行insert into语句时,返回的是一个对象
//执行SQL语句
db.query(sqlStr1,[user.username,user.password],(err,results)=>{if(err)return console.log(err.message)if(results.affectedRows === 1)  //返回的对象包含一个affectedRows属性,判断是否插入成功console.log('成功插入数据')
})  //插入数据的便捷方式
const user2 = {username:'Spider-man3',password:'pcc4296'}
//定义待执行的SQL语句
const sqlStr2 = 'insert into users set?'
//执行SQL语句
db.query(sqlStr2,user2,(err,results)=>{if(err)return console.log(err.message)if(results.affectedRows === 1)console.log('插入数据成功')
}) 

(2)查询

//查询users表中的所有数据
const sqlStr  = 'select *from users'
db.query(sqlStr,(err,results)=>{if(err)console.log(err.message)console.log(results)    //如果执行select语句,则返回的是数组})

(3)更新

//更新数据的便捷方式
const user4 = {id:7,username:'aaa',password:'123admin'}
//待执行的SQL语句
const sqlStr4 = 'update users set ? where id=?'
//执行SQL语句
db.query(sqlStr4,[user4,user.id],(err,results)=>{if(err)return console.log(err.message)if(results.affectedRows === 1){console.log('更新数据成功')}
})

(4)删除、标记删除(把status改为1)

//删除id为5的用户
const sqlStr = 'delete from users where id=?'
db.query(sqlStr,4,(err,results)=>{if(err) console.log(err.message)if(results.affectedRows === 1)console.log('删除数据成功')
})//标记删除(把status改为1)
const sqlStr = 'update users set status = ? where id=?'
db.query(sqlStr,[1,12],(err,results)=>{if(err)return console.log(err.message)if(results.affectedRows === 1)console.log('标记删除成功')
})

http://www.dtcms.com/a/405837.html

相关文章:

  • article.3345645398
  • 国内如何使用GPT-5-Codex
  • Xcode 26 could not locate developer disk image for this device 无法定位开发者磁盘镜像
  • 用Python打造离线语音控制浏览器:基于VOSK的实用案例
  • 【ARDUINO】在arduino ide中下载安装开发包失败了,如何手动安装开发包
  • 上架 App 全流程解析,iOS 应用上架步骤、App Store 审核流程、ipa 文件上传与测试分发经验
  • 网站审核要多久老铁外链
  • 网站建设公司的服务公司湖南做网站 在线磐石网络
  • Linux的写作日记:Linux基础开发工具(二):vim编辑器
  • nginx缓存、跨域 CORS与防盗链设置(2)
  • 多级缓存架构:性能与数据一致性的平衡处理(原理及优势详解+项目实战)
  • 今天我们开始学习nginx缓存功能,CORS以及nginx防盗链
  • 前端缓存好还是后端缓存好?缓存方案实例直接用
  • 小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统
  • 陕西西安网站建设公司大学生网页设计
  • Redis 面试常考问题(高频核心版)
  • 开发时如何彻底禁用浏览器表单自动填充缓存
  • 零基础新手小白快速了解掌握服务集群与自动化运维(七)Nginx模块--Nginx反向代理与缓存功能(二)
  • 【项目实战 Day7】springboot + vue 苍穹外卖系统(微信小程序 + 微信登录模块 完结)
  • python+springboot+uniapp基于微信小程序的停车场管理系统 弹窗提示和车牌识别
  • -bash: ssh-copy-id: command not found的两种解决方法
  • 电商网站新闻怎么做即速应用小程序官网
  • 上海网站建设接单互联网+大学生创新创业项目官网
  • 我是如何用Claude Code打造通用AI Agent的
  • 使用Nexus Repository Manager搭建私有自建 pip 源
  • 9.二叉树(上)
  • DNS 服务器与 DHCP 服务器详解及配置指南
  • 中国建设银行官网站招聘频道如何不花钱做网站
  • 恢复快照(需先暂停 / 关闭虚拟机,避免数据不一致)
  • 九、OpenCV中视频的录制