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

10.11 数据库

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

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

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

10.11.2 SQL

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

(1)select

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

(2)insert

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

(3)update

sql 复制代码
-- 将password更新
update users set password = '88888' where id=2
update users set username='admin',password='99999' where id=1

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

sql 复制代码
-- 删除操作
delete from users where id=2 

(5)and和or

(6)asc升序和desc降序

sql 复制代码
-- 升序和降序操作,升序是asc,降序是desc
select *from users order by id 
select *from users order by id desc

(7)count(*)

sql 复制代码
-- 使用count(*)统计
select count(*) from users where password='123999'

(8)as 给列名起别名

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

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

sql 复制代码
//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)插入

sql 复制代码
//插入数据
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)查询

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

})

(3)更新

sql 复制代码
//更新数据的便捷方式
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)

sql 复制代码
//删除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('标记删除成功')
})
相关推荐
烬羽11 分钟前
从 nest new 到 Hello World:一个最小 NestJS 项目,讲透工厂 + 装饰器 + 模块化
设计模式·node.js·nestjs
Herbert_hwt15 分钟前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
名字还没想好☜1 小时前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
迷迭香yy1 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
晚风醉蝶2 小时前
1-6-插入排序-InsertionSort
java·数据结构·排序算法
Tyler_TXZ2 小时前
C++C语言之——二叉树
c语言·开发语言·数据结构·c++·二叉树
SelectDB2 小时前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
有点。2 小时前
C++二叉树二(练习题)
数据结构·c++·算法·图论
SelectDB2 小时前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
weixin_539446783 小时前
Navicat Premium 17报缺少ODBC驱动
数据库