这里是Themberfue
数据库
✨进入到目前的学习阶段中,数据库相信大家并不陌生,但是如果要说出概念的话那可能还是有点困难的,这里我就简单罗列出数据的一些相关概念,虽然这部分内容只是理论知识,但是非常重要。
- 📌数据(Data):最基本的单位,如用户信息、订单记录。
- 📌数据库(DB,DataBase):存储大量有组织的数据的集合,是由数据库管理系统管理的数据的集合,支持高效查询、管理和修改。
- 📌数据库管理系统(DBMS,DataBase Management System):操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。如 MySQL、Oracle、MongoDB。
- 📌数据库系统(DBS,DataBase System):通常由软件、数据库和数据管理员(DBA)组成。
- 📌数据库管理员(DBA,Database Administrator):负责全面管理和控制数据库系统。
- 📌 SQL(Structured Query Language):结构化查询语言,用于操作关系型数据库。
- 📌表(Table):数据库的核心存储结构,由行和列组成,如 用户表(User)。
常见的数据库分类
🔹关系型数据库(RDBMS):基于表结构,使用 SQL 查询:
- ✅ MySQL(开源、使用最多的数据库之一)
- ✅ PostgreSQL(功能强大,支持复杂查询)
- ✅ Oracle(业内最强数据库,企业级,收费)
- ✅ SQL Server(微软推出的专业级数据库)
- ✅ACCESS(微软OFFICE中集成的一个小型数据库)
- ✅SQLite(小型数据库,常用于手机APP,处理简单的数据存储,微信本地的聊天记录的存储就是用的 SQLite)
🔹 非关系型数据库(NoSQL):适用于大数据、分布式存储。
- ✅ MongoDB(文档型数据库,存 JSON)
- ✅ Redis(键值数据库,速度快,常用于缓存)
- ✅ Cassandra(高可用,适用于分布式存储)
MySQL
我们主要通过 MySQL 进行讲解,主要原因是开源,免费,好用~~~
- ✨关系型数据库(RDB,Relational Database)是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。
- 关系模型指的就是二维表格模型,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。
- 大部分关系型数据库都使用 SQL 来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。
- ✨MySQL 就是一个经典的关系型数据库,由于 MySQL 是开源免费并且比较成熟的数据库,因此,MySQL 被大量使用在各种系统中。任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。
至于如何安装,网上有太多教程了,这里我就不细说了,我们直接来看 MySQL 的全局配置文件吧。配置文件通常在:C:\ProgramData\MySQL\MySQL Server 8.0 下的 my.ini 文件。当然,每个人的都可能不一样,推荐使用 EveryThing 直接查找 my.ini 更快。
这是 MySQL 服务启动的默认端口号,为 3306,可以修改成其他的端口号,修改的范围在 1025 - 65535,如果真要修改的话,记得先备份一下,以防修改错了导致服务启动失败。
数据目录的路径,MySQL 产生的数据都在该路径存放。
MySQL 的存储引擎,规定 MySQL 如何去处理数据,是 MySQL 的核心。
MySQL 的编码字符集,推荐手动设置字符编码集。ai(accent insensitive,口语不敏感)、as(accent sensitive,口音敏感)、ci(case insensitive,大小不敏感)、cs(case sensitive,大小写敏感)。
- 数据库安装之后怎么使用呢相应的服务呢?
- 通常使用图形化工具(Navicat、MySQL WorkBench)会使操作更加便捷,但我们往后都是通过终端启动 mysql.exe 来进行讲解。
- 在 ./MySQL Server 8.0./bin 下执行
输入密码后,即可开启 mysql 服务,如果你设置了环境变量的话,可以在任何位置下执行上述指令并开启 mysql 服务。mysql -uroot -p
- 不过我还是更推荐使用 MySQL 自动生成的快捷方式来启动服务,它会在启动时自动给我们配置一些选项,比如字符集~~~
- MySQL 服务启动后,会在本机创建一个数据库服务,IP 为 127.0.0.1 相信大家对这个 IP 并不陌生。虽然我们访问的是本地服务,但还是通过网络进行访问的,只不过客户端和服务端在同一台主机。
SQL
✨SQL(Structured Query Language)是结构化查询语⾔的简称,是⼀种数据库查询和程序设计语言, ⽤于存取数据以及查询、更新和管理关系数据库。
- SQL 专门用来与数据库打交道,目的是提供一种从数据库中读写数据的简单有效的方法。
- 几乎所有的主流关系数据库都支持 SQL ,适用性非常强。并且,一些非关系型数据库也兼容 SQL 或者使用的是类似于 SQL 的查询语言。
- SQL 可以帮助我们:新建数据库、数据表、字段;在数据库中增加,删除,修改,查询数据;新建视图、函数、存储过程;对数据库中的数据进行简单的数据分析;搭配 Hive,Spark SQL 做大数据;搭配 SQLFlow 做机器学习......
SQL分类
DDL
数据定义语言(Data Definition Language,DDL)是 SQL 语言集中负责数据结构定义与数据库对象定义的语言。
- DDL 的主要功能定义数据库对象。
- DDL 的核心指令是
CREATE
、ALTER
、DROP
。DML
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句。
- DML 的主要功能是 访问数据,因此其语法都是以读写数据库为主。
- DML 的核心指令是
INSERT
、UPDATE
、DELETE
、SELECT
。这四个指令合称 CRUD(Create, Read, Update, Delete),即增删改查。DCL
数据控制语言(Data Control Language, DCL)是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。
- DCL 的核心指令是
GRANT
、REVOKE。
- DCL 以控制用户的访问权限为主,因此其指令作法并不复杂,可利用 DCL 控制的权限有:
CONNECT
、SELECT
、INSERT
、UPDATE
、DELETE
、EXECUTE
、USAGE
、REFERENCES
。- 根据不同的 DBMS 以及不同的安全性实体,其支持的权限控制也有所不同。
TCL
事务控制语言(Transaction Control Language, TCL)用于管理数据库中的事务。这些用于管理由 DML 语句所做的更改。它还允许将语句分组为逻辑事务。
- TCL 的核心指令是
COMMIT
、ROLLBACK。
- 下节我们开始 SQL 语法的讲解~~~
- 毕竟不知后事如何,且听下回分解
- ❤️❤️❤️❤️❤️❤️❤️
- ⚠️⚠️⚠️本文章部分文案参考——JavaGuide