目录
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字段标记为删除即可。