当前位置: 首页 > news >正文

MySQL —— 初始数据库

数据库概念

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

如果再高级一点,我们可以使用文件来保存数据,例如在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 数据库中我们可以创建属于自己的数据库,每个数据库中会有很多张数据表,每张数据表有很多的数据行,每个数据行有很多个列组成。

相关文章:

MySQL —— 初始数据库

数据库概念 在学习数据库之前,大家保存数据要么是在程序运行期间,例如:在学习编程语言的时候,大家写过的管理系统,运用一些简单的数据结构(例如顺序表)来组织数据,可是程序一旦结束…...

【JVM】垃圾回收机制、算法和垃圾回收器

什么是垃圾回收机制 为了让程序员更加专注于代码的实现,而不用过多的考虑内存释放的问题,所以在Java语言中,有了自动的垃圾回收机制,也是我们常常提及的GC(Garbage Collection) 有了这个垃圾回收机制之后,程序员只需…...

大数据资源平台建设可行性研究方案(58页PPT)

方案介绍: 在当今信息化高速发展的时代,大数据已成为推动各行各业创新与转型的关键力量。为了充分利用大数据的潜在价值,构建一个高效、安全、可扩展的大数据资源平台显得尤为重要。通过本方案的实施企业可以显著提升数据处理能力、优化资源配置、促进业…...

PHP教育培训小程序系统源码

🚀【学习新纪元】解锁教育培训小程序的无限可能✨ 📚 引言:教育培训新风尚,小程序来引领! Hey小伙伴们,是不是还在为找不到合适的学习资源而烦恼?或是厌倦了传统教育模式的单调?今…...

吴恩达机器学习笔记

1.机器学习定义: 机器学习就是让机器从大量的数据集中学习,进而得到一个更加符合现实规律的模型,通过对模型的使用使得机器比以往表现的更好 2.监督学习: 从给定的训练数据集中学习出一个函数(模型参数)…...

React和Vue3 的 Diff 算法有什么区别

React 和 Vue 3 的 Diff 算法都有相似的目标,即在组件状态或属性变化时高效地更新 DOM,但它们在实现细节上有所不同。以下是 React 和 Vue 3 的 Diff 算法的主要区别: React 的 Diff 算法 1. 同层比较 React 使用的是同层比较策略&#xf…...

【vulhub靶场之rsync关】

一、使用nmap模块查看该ip地址有没有Rsync未授权访问漏洞 nmap -p 873 --script rsync-list-modules 加IP地址 查看到是有漏洞的模块的 二、使用rsync命令连接并读取文件 查看src目录里面的信息。 三、对系统中的敏感文件进行下载——/etc/passwd 执行命令: rsy…...

全球7大高质量海外代理IP对比大全

随着国内市场逐渐饱和,越来越多朋友私信我说打算开拓海外市场这片蓝海了!海外代理IP作为解决这些需求的有效工具,帮助跨境企业或团队进行社媒管理、电商运营、市场调研、抓取数据、广告验证等等业务。但是,市场上提供的代理IP服务…...

对于原型链的理解

1.同一个构造函数的多个实例之间 无法共享属性(创建多个实例的时候会造成资源浪费) function Cat(name, color) {this.name name;this.color color;this.meow function () {console.log(miao);}; }var cat1 new Cat(LH, White); var cat2 new Cat(…...

Web开发:Vue中的事件小结

一、全选按钮checkbox <template><div id"checkboxs"><label><input id"selectAll" type"checkbox" v-model"selectAllChecked" change"selectAllItems">全部</label><label v-for"…...

基于Springboot的运行时动态可调的定时任务

配置类 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;Configuration public class TaskSchedulerConfig {Bean(destroyMe…...

linux perf

perf是Linux性能分析工具的集合&#xff0c;它提供了丰富的命令来收集和分析程序运行时的性能数据。perf能够报告CPU使用率、缓存命中率、分支预测成功率等多种硬件级别的事件&#xff0c;同时也支持软件级别的事件&#xff0c;如页面错误、任务切换等。perf是理解程序性能瓶颈…...

Linux--网络层IP

IP协议 IP协议&#xff0c;全称Internet Protocol&#xff08;互联网协议&#xff09;&#xff0c;是TCP/IP协议族中的核心协议之一&#xff0c;用于在互联网络上进行数据的传输。IP协议的主要功能是确保数据从一个网络节点&#xff08;如计算机、服务器、路由器等&#xff09…...

浅谈vite之import.meta

一. 解析 开发者使用一个模块时&#xff0c;有时需要知道模板本身的一些信息&#xff08;比如模块的路径&#xff09;。现在有一个提案&#xff0c;为 import 命令添加了一个元属性 import.meta&#xff0c;返回当前模块的元信息。 import.meta只能在模块内部使用&#xff0c;如…...

【Pytorch实用教程】Pytorch中nn.Sequential的用法

nn.Sequential 是 PyTorch 中用于构建神经网络的一种容器类,它可以按顺序封装多个子模块(层),并依次将输入数据传递给这些子模块。这样可以简化模型的定义,使得代码更加简洁和易读。 文章目录 基本用法方法一:直接传递子模块方法二:使用 `OrderedDict`动态构建模型优点注…...

Shopify被封?Shopify店铺开店到防封全面指南

Shopify&#xff0c;作为独立电商建站领域的佼佼者&#xff0c;其SaaS模式简化了建站流程&#xff0c;无需编程背景即可创建线上店铺&#xff0c;吸引了众多商家的目光。本文将详细讲解Shopify店铺从注册、运营到防封的每一个关键环节&#xff0c;为商家提供一站式指导&#xf…...

11. 盛最多水的容器

一题目&#xff1a; 二&#xff1a;代码&#xff1a; class Solution { public:int maxArea(vector<int>& height) {int l0;int rheight.size()-1;int ans0;while(l<r){int a(r-l)*min(height[l],height[r]);ansmax(ans,a);if(height[l]<height[r]) l;else r-…...

react如何父子组件传参

在React中&#xff0c;父子组件之间的传参主要通过props&#xff08;属性&#xff09;来实现。子组件通过props接收来自父组件的数据&#xff0c;而父组件则可以通过在子组件标签上设置属性&#xff08;即props&#xff09;来传递数据。下面是一个简单的例子来说明这个过程。 …...

【C++】二维数组 数组名

二维数组名用途 1、查看所占内存空间 2、查看二维数组首地址 针对第一种用途&#xff0c;还可以计算数组有多少行、多少列、多少元素 针对第二种用途&#xff0c;数组元素、行数、列数都是连续的&#xff0c;且相差地址是有规律的 下面是一个实例 #include<iostream&g…...

【蘑菇书EasyRL】强化学习,笔记整理

【蘑菇书EasyRL】强化学习&#xff0c;笔记整理 1.笔记整理1.1 学习和决策代码框架 2. 遇到的buggym 环境&#xff0c;新版本python无法使用env_specs envs.registry.all() 报错 蘑菇书的教程地址&#xff1a; https://datawhalechina.github.io/easy-rl/#/chapter1/chapter1?…...

尚硅谷谷粒商城项目笔记——三、安装docker【电脑CPU:AMD】

三、安装docker 注意&#xff1a; 因为电脑是AMD芯片&#xff0c;自己知识储备不够&#xff0c;无法保证和课程中用到的环境一样&#xff0c;所以环境都是自己根据适应硬件软件环境重新配置的&#xff0c;这里的虚拟机使用的是VMware。 首先关闭防火墙和安全策略 systemctl…...

【8-9月份唯一机械电气计算机主题的IEEE会议】第七届机电一体化与计算机技术工程国际学术会议(MCTE 2024,8月23-25)

由广东博士创新发展促进会、输变电装备技术全国重点实验室联合主办&#xff0c;重庆大学电气工程学院、AEIC学术交流中心协办的第七届机电一体化与计算机技术工程国际学术会议&#xff08;MCTE 2024&#xff09;将于2024年8月23-25日在中国广州隆重举行。 大会诚挚邀请您投递相…...

YOLOv8改进 | 主干网络 | 简单而优雅且有效的VanillaNet 【华为诺亚方舟】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有80+篇内容,内含各种Head检测头、损失函数Loss、…...

Tomcat高可用集群(实例详解)

一.环境准备 虚拟机的版本&#xff1a;VMware-workstation-full-15.5.6-16341506.exe系统镜像版本&#xff1a;CentOS-6.10-x86_64-bin-DVD1.iso&#xff0c;全新安装&#xff0c;桌面版&#xff0c;可上网系统内存大小&#xff1a;1GB系统硬盘大小&#xff1a;20GB连接工具版…...

搭建自己的金融数据源和量化分析平台(五):更新两市退市股票信息

在前面的股票列表设计中&#xff0c;我们有一个list_status字段&#xff0c;可能的值为L上市 D退市 P暂停上市。 由于股票可能会被退市&#xff0c;因此需要该字段来维护上市状态。 深市爬虫&#xff1a; # 读取深交所最新退市股票列表 def get_delisted_stock_list():cache_f…...

Redis复习总结

之前写的博客太杂,最近想把Redis的知识点再系统的过一遍,带着自己的理解使用简短的话把一些问题总结一下,尤其是开发中和面试中的高频问题,基础知识点参考–>Redis入门、Spring Cache,这篇不再赘述。 目录 基础简介;与Memcached的区别;为什么作为mysql缓存?如何保证R…...

基于JSP的医院挂号系统

你好&#xff0c;我是专注于医疗信息系统的计算机专业毕业生。如果您对医院挂号系统感兴趣或有相关需求&#xff0c;欢迎随时联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术 工具&#xff1a;MyEclipse 系统展示 首页 管理员功能模…...

Chainlit快速实现AI对话应用1 分钟内实现聊天数据的持久化保存

概述 默认情况下&#xff0c;Chainlit 应用不会保留其生成的聊天和元素。即网页一刷新&#xff0c;所有的聊天记录&#xff0c;页面上的所有聊天记录都会消失。但是&#xff0c;存储和利用这些数据的能力可能是您的项目或组织的重要组成部分。 一旦启用&#xff0c;数据持久性…...

STM32DMA数据传输

我估计大多数人学这么久连听说都没听说过DMA&#xff0c;更不用提知道它是干嘛的。其实DMA的本质就是一个数据的搬运工。平常的时候当我们没有配置的时候&#xff0c;一直都是CPU在搬运数据&#xff0c;但是这个活又累又没有技术含量&#xff0c;所以DMA的重要性还是有的。 目…...

Python学习笔记50:游戏篇之外星人入侵(十一)

前言 本篇文章接着之前的内容&#xff0c;继续对游戏功能进行优化&#xff0c;主要是优化游戏状态以及对应的处理。 状态 一个游戏包含多种状态&#xff0c;这个状态是一个可以很复杂也可以很简单的内容。条件所限&#xff0c;我们这个游戏的状态就比较简单&#xff1a; 未…...