MySQL —— 初始数据库

ops/2024/10/10 12:09:43/

数据库概念

在学习数据库之前,大家保存数据要么是在程序运行期间,例如:在学习编程语言的时候,大家写过的管理系统,运用一些简单的数据结构(例如顺序表)来组织数据,可是程序一旦结束,数据就会丢失,只有程序重新运行才能输入和查看数据,这是因为我们的数据是在内存上保存的,一旦遇到断电或者程序关闭等外部影响,我们的数据就会清空,这也是内存上数据的存储特点。

如果再高级一点,我们可以使用文件来保存数据,例如在C语言中的文件操作函数,我们可以将数据保存到文件上,或者使用 excel 来保存数据,但是文件保存数据不利于数据的查询和管理,也不利于存储海量的数据,文件在程序中不方便控制。

因此,数据库就顺势而生。

数据库是组织和保存数据的应用程序,底层使用了一些合适的数据结构对数据进行组织,方便用户进行增删查改的基本操作。

数据库把数据保存在磁盘中,实现对数据的持久化,每次程序重新加载数据就可以从数据库中读取以前的数据;
数据库还能提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

数据库的分类

关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个
关系型数据库就是由二维表及其之间的联系所组成的一个数据组织

举例:
一张图表由行和列组成:例如我们使用的 excel 表格

在这里插入图片描述

数据库里由很多的表格,这些表格之间存在某些联系,例如:一家商店使用一个数据库来保存数据,里面由很多张数据表,一张商品表包含商品名称、商品价格、商品库存、商品描述,一张客户需求表包括客户名称,需要的商品以及数量,金额,这两张数据表相辅相成,存在联系,而包含这两个数据表的数据库被称为关系型数据库

关系型数据库基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1.Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统,收费。
2.MySQL:属于甲骨文,不适合做复杂的业务。开源、免费。
3.SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。

非关系型数据库
不规定基于SQL实现。现在更多是指NoSQL数据库,如:
1.基于键值对(Key-Value):如 memcached、redis
2.基于文档型:如 mongodb
3.基于列族:如 hbase
4.基于图型:如 neo4j

在这里插入图片描述

MySQL

这里我使用的是 MySQL 8.0 大版本作为演示

配置文件的介绍

注意别乱删东西!!!!
修改配置文件记得要备份一份!!!

MySQL 的配置文件是 my.ini
在这里插入图片描述
如果你是默认安装路径,可以在 C:\ProgramData\MySQL\MySQL Server 8.0 这个路径找到这个配置文件,文件的打开方式,这里使用 VS2022 编译器打开,你也可以使用 VScode 或者记事板,编译器打开会有颜色标记,比较好看一些。


在这里插入图片描述
所有的客户端配置都在 client 结点下,注释以 # 开头,绿色的是注释。

port = 3306 表示MySQL 服务开启的是 3306 端口


在这里插入图片描述
mysqld 是MySQL 守护


在这里插入图片描述
下面的 datadir=D:/database/MySQL/data8.0 是我指定 MySQL 数据保存的位置,大家可以自行设置。


在这里插入图片描述
存储引擎,用来处理数据的,是 MySQL 的核心


在这里插入图片描述
log-output=FILE 通用日志保存在文件中

general-log=1 开启通用日志,记录每一条数据库操作

general_log_file=“路径” ,通用日志的路径

slow-query-log=1 慢查询日志,数据操作超过了指定的时间

slow_query_log_file="路径” 慢日志的路径

long_query_time=10 慢查询日志的执行超过时间

log-error=“路劲” ,错误日志的存储路劲

log-bin=“路径” 记录所有的修改操作,用于集群环境

server-id=1 用于集群环境,一个集群环境的 id 不能重复


客户端工具

我们使用 MySQL 数据库的时候,我们可以直接通过 cmd 窗口打开 MySQL ,前提是你配置好了环境变量:
win + r ,输入 cmd ,输入 mysql -uroot -p

解释一些这个命令行:mysql 表示要执行 mysql.exe 的程序,-u 表示使用(use),后面 root 是用户名(默认是 root),-uroot b表示登录用户名,-p 表示需要用户输入密码才能使用

在这里插入图片描述


我们还可以直接点击MySQL 自带的客户端工具:
在这里插入图片描述


我们还可以使用可视化客户端工具:例如MySQL workbench ,这个可以在官网自行下载

在这里插入图片描述
可以在里面连接数据库,然后编辑我们的SQL 语句

或者你可以使用其他可视化工具。

SQL

DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter

DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select

DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit

注意:SQL 是针对数据库操作的语言,可以类比我们的编程语言,数据库是用来存放数据的,这两个是两个东西,大家不要混淆。

数据之间的关系

在这里插入图片描述

MySQL数据库中可以包含很多个数据库

上面除了 javatest 是我自己创建的数据库其他四个数据库是MySQL自带的数据库,不要删除!!!不要删除!!! 这些自带的数据库包含MySQL 自身的一些配置、性能、系统变量等信息,在不清楚它们的具体作用的时候,不要修改!!!不要修改!!!如果改错了或者删除了,MySQL就可能无法启动,如果你还没有备份的话,那就 请重装数据库吧!!!!

一句忠告:不要随便删除系统自带的东西,因为你伤不起!!!!!

每个数据库中,又可以包含很多张数据表。

在这里插入图片描述
一张表有很多个数据行,例如 张三—男—1——54185254501 这就是数据行

每个数据行由列组成,例如上面的数据行是由 学生姓名、性别、班级和联系方式这四个列组成的

总结:

在 MySQL 数据库中我们可以创建属于自己的数据库,每个数据库中会有很多张数据表,每张数据表有很多的数据行,每个数据行有很多个列组成。


http://www.ppmy.cn/ops/90166.html

相关文章

Flink Sql Redis Connector 新版本来袭

1.新版本功能和性能介绍 1.1 流批一体 新版本使用了Flink最新的Source接口和SinkWriter接口,可以使用一套代码完成流式读取数据和批量读取数据 1.2 吞吐量大 新版本使用jedispipline和jedisClusterPipeline对数据进行写入和读取,每分钟可以达到千万级…

代码随想录算法训练营day36|动态规划part04

第一题&#xff1a;1049. Last Stone Weight II 一维数组版本 class Solution {public int lastStoneWeightII(int[] stones) {int sum 0;for (int i : stones) {sum i;}int target sum >> 1;//初始化dp数组int[] dp new int[target 1];for (int i 0; i < sto…

【深度学习】【语音】TTS,StyleTTS 2,论文

StyleTTS 2 是一款创新的文本转语音(TTS)模型,通过使用样式扩散和大规模语音语言模型(SLM)的对抗训练,实现了接近人类水平的TTS合成。以下是StyleTTS 2在技术上的几个关键点和其在性能上的突出表现: 技术重点 样式扩散(Style Diffusion): StyleTTS 2 将语音样式建模…

中建海龙科技模块化集成建筑(MiC建筑):高效省时,建筑新选择

在当今快速发展的建筑行业中&#xff0c;时间成本往往成为制约项目进度的关键因素。中建海龙科技凭借其原创的模块化集成建筑&#xff08;MiC建筑&#xff09;技术&#xff0c;不仅实现了建筑的高质量、高效率&#xff0c;更在节省时间方面展现出了显著优势。 模块化集成建筑&…

WriterSide 文档、接口自动编译并部署到GitPage

WriterSide 自动编译并部署到GitPage 1. GitHub 创建空仓库2. 配置GitHub 仓库的编译部署方式3. WriteSide 创建项目4. 创建自动、编译部署配置文件5. 自动编译、部署1. GitHub 创建空仓库 在 GitHub 创建一个空的仓库 仓库创建成功后, 记录仓库的远程地址 仓库地址需要修改…

html+css前端作业和平精英2个页面(无js)

htmlcss前端作业和平精英2个页面&#xff08;无js&#xff09;有视频播放器等功能效果 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改…

架构师软考-每日两道单选题6

第11题 单选题 在软件系统工具中&#xff0c;版本控制工具属于&#xff08; &#xff09;&#xff0c;软件评价工具属于&#xff08;/&#xff09;。 A 软件开发工具 B 软件维护工具 C 编码与排错工具 D 软件管理和软件支持工具 解析 在软件系统工具中&#xff0c;版本控制工…

【C++入门(下)】—— 我与C++的不解之缘(二)

前言 接上篇&#xff0c;继续来学习C&#xff0c;本篇内容大概有 引用&#xff0c;inline 和 nullptr。 六、引用&#xff1a; 6.1、引用的定义 引用不是新定义一个变量&#xff0c;而是给已存在的变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它…