【Node.js】第九章 数据库
创始人
2024-02-24 17:03:28
0

目录

1.  数据库的基本概念

1.1 数据库的概念

1.2 数据库的分类

1.3 数据组织结构

2. MySQL使用介绍

2.1 安装MySQL和MySQL Workbench

2.2 MySQL的基本使用

2.3 使用SQL管理数据库

3. 在项目中使用MySQL

3.1 安装和配置MySQL模块

3.2  操作数据


1.  数据库的基本概念

1.1 数据库的概念

数据库是用来组织、存储、管理数据的仓库。用户可以对数据库的数据进行增加、删除、修改、查询的操作。

1.2 数据库的分类

常见数据库:

  • MySQL : 流行度最高的数据库关系型数据库(社区版免费、企业版收费)
  • SQL Server:(收费)关系型数据库
  • Oracle:(收费)关系型数据库
  • Mongodb:非关系型数据库(社区版免费、企业版收费)

1.3 数据组织结构

传统型数据库的数据组织结构包括几个部分:数据库DataBase(DB)、数据表DataTable(DT)、数据行row、字段file

2. MySQL使用介绍

2.1 安装MySQL和MySQL Workbench

2.2 MySQL的基本使用

1. 连接:打开MySQL Workbench连接数据库、输入密码

2. 界面组成部分:

3. 创建数据库 

4. 创建数据表 

 

5. 向数据表插入数据

 

2.3 使用SQL管理数据库

1.SQL的概念

SQL是一门编程语言,可以用来操作数据库的数据,包括查询数据、增加数据、删除数据、修改数据。

2. SELECT语句

SELECT语句用于从表中查询数据,执行的结果被存储在一个结果表中,语法格式如下:

select * from 表名称 // * 代表查询所有的列select 列名称 from 表名称 // 查询指定的列数据

把users表里面所有的数据都查询出来: 

 

从users表中查询用户名、密码:

3. INSERT INTO语句

向表中插入数据,语法格式:

insert into table_name(列名1,列名2) values (values1, values2);
// 列名和值要一一对应

4. UPDATE语句

update用于修改表中的数据

 更新多个列,用逗号分隔即可:

 5. DELETE语句

delete from 表名 where 列名 = 值 // 注意要加where条件、否则可能把整个表的数据删除了

 6. where子句

运算符: 

 

 

7. AND OR运算符

and运算符:同时满足多个条件

or: 满足条件之一即可

 

8. ORDER BY

order by升序、降序的子句,默认是升序排序,或者order by后面加 ASC,降序排序就在order by后面加desc

多重排序

 9. count(*)函数

count(*)函数用于返回查询结果的总数据条数,语法格式如下:

select count(*) from 表名

 10. AS

使用as起别名

3. 在项目中使用MySQL

3.1 安装和配置MySQL模块

前提: 已经安装了MySQL软件、视化软件MySQL WorkBench,并且设置了用户名、密码、和创建了指定的数据库。

1.  node安装mysql第三方包

npm install mysql

2.  配置mysql模块

3. 测试配置是否正常

其中select 1这个语句没有实质作用,这里只是去测试配置是否正常

3.2  操作数据

1. 查询数据

const mysql = require('mysql');const db = mysql.createPool({host: '127.0.0.1'user: 'root',password: 'admin123',database: 'my_db_01'
})const sqlStr = 'select * from users';db.query(sqlStr, (err, res) => {if(err){return err.message;}console.log(res);
})

执行结果:查询的数据数组 

如果是insert into语句,则返回的result是一个对象,可以通过result.affectRows属性值是否为1来判断插入是否成功。如果是select语句,则返回的result是个数组。

插入数据的快捷方式:

定义对象的键值对时和表的列名对应,可快速插入数据。

 2. 更新数据:

 

 3. 删除数据:

4. 标记删除:

使用DELETE语句,会把真正的数据从表中删除掉,为了保险起见,推荐使用标记删除掉形式,来模拟删除的动作,所谓的标记删除,就是在表中设置类似于status这样但状态字段,来标记当前这条数据是否被删除。

用户执行删除的动作时,我们并没有执行DELETE语句把数据删除掉,而是执行了UPDATE语句,将这条数据对应的status字段标记为删除即可。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...