一、数据库是什么
数据库,顾名思义,存放数据的仓库。
我们平时在敲代码时,项目数据的存储,一般都是在内存中进行临时存储,不仅无法做到长久保存,还存在安全风险。
数据库是系统化存储、管理和操作数据的集合,它就像电子化的文件柜,允许用户高效地存储、查询、更新和管理数据。
二、数据库的分类
2.1 关系型数据库
1、关系型数据库特点:
- 数据以表格(二维表)的形式存储
- 支持强事务(ACID特性:原子性、一致性、隔离性、持久性)
- 使用SQL(结构化查询语言)进行操作
- 有严格的数据结构
2、代表产品有
- Oracle、MySQL、SQL Server
2.2 非关系型数据库
1、非关系型数据库特点:
- 不以固定表格形式存储数据
- 通常是弱事务或最终一致性
- 灵活的数据模型,易于扩展
- 高性能,适合海量数据
2、代表产品:
- Redis
三、MySQL中的对象
1)database 库 用来管理表
2)table 表 管理数据
3)row 行 某一个对象的所有特性
4)column 列(字段) 所有对象的相关特性的抽象
主键字段:能够标识唯一的一行数据(非空+唯一)
外键字段:体现两张表之间关系的列
四、SQL语言的分类
4.1 DDL
DDL:数据定义语言;
说白了就是建表,改表,删表,对表和其中的字段进行操作。
学习DDL,我们需要掌握对应的一些知识点。
比如,数据类型的定义,建表删表的语句,以及约束的种类,这些包括下边的语言,后面我会出一篇详细总结。
4.2 DML
DML:数据操纵语言;
DML是对表中的数据进行操作的语言,
学习DML,需要掌握基础的对表中添加数据,修改数据,以及删除数据,增删改查嘛。
4.3 DQL
DQL:数据查询语言;
查询语言我们基础的可以进行基本的查询操作,比如查询某一张表中的某个字段的内容;
当然,我们也可以进行条件查询,对查询的结果进行筛选,这个要比前面的更复杂一点,需要掌握查询语言七大字句(select,from,where,group by,having,order by,limit)。
4.4 DCL
DCL:权限管理;
专门用于定义数据库的访问权限和安全控制。DCL的主要功能是授予或撤销用户对数据库对象的访问权限,确保数据安全性和完整性。
4.5 TCL
TCL:事务控制语言;
专门用于控制数据库事务,确保数据操作的完整性和一致性。
事务:保证一个业务操作完整性的一种机制,一个业务操作中所涉及的多个sql语句是一个整体,当所有的sql语句都执行成功则提交事务,只要有一个sql语句执行失败就回滚事务。
五、数据库的简单应用
5.1 MySQL中数据库的创建
5.1.1 字符集
在利用可视化工具新建数据库时,会让选择字符集,我们需要稍微了解一下。
中文简体字符集: DBK:繁体中文字符集: Big5
中文乱码产生的原因:使用了不同的编码字符集;解决乱码:使用相同的编码(utf-8 万国码)
一般我建库使用:字符集:utf-8mb4 排序规则:utf8mb4_general_ci
5.1.2 数据库的创建
创建库语句:
create database 库名;5.2 MySQL中数据库的删除
删除库语句:
drop database 库名;5.3 MySQL中数据库的简单调用
5.3.1 展示所有的库名
show databases5.3.2 使用某一个库
use 库名;5.3.3 查看库中所有的表
show tables;六、MySQL里的注释
1、单行注释
格式:所有SQL标准中的单行注释
-- 内容 -- 中间必须加空格MySQL独有的单行注释:
# 单行注释2、多行注释
/* 多行注释 可以换行 */