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

【MySQL】数据库基础知识

本文基于Linux的MySQL

文章目录

  • 一. 什么是数据库
  • 二. 主流数据库
  • 三. 服务器,数据库和表的关系
  • 四. MySQL架构
  • 五. SQL语句分类
  • 结束语

一. 什么是数据库

数据库本质是对数据内容存储的一套解决方案
如何理解呢?
首先,说到数据内容存储,文件是更为大众所知的数据存储形式。那为什么还会出现数据库呢?
比如这样一个场景,一个文件中,有十万个人的信息,如果要求找出这之中,身份证尾号为1102的,如何操作呢?很多人想,这不就是文件操作,从文件读数据,然后进行筛选。这样的确可以,但这一过程需要认为操作,那我们是否可以将这一过程交给别人完成呢?数据库的功能就是如此。
文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于存储海量数据
  • 文件只有读写功能
  • 文件在程序中控制不方便

数据库就是基于文件系统,提供更好的数据管理能力
实现用户给予字段或者需求,数据库可以对数据进行筛选,并提交结果

PS:数据库是基于文件系统的,所以其存储介质仍是磁盘内存

二. 主流数据库

  • SQL Server:微软的产品,.Net程序员的最爱,适用于中大型项目
  • Oracle:甲骨文产品,适合大型项目复杂的业务逻辑,大部分银行使用,并发一般来说不如MySQL
  • MySQL:甲骨文产品,世界上最受欢迎的数据库,并发性号,但不适合做复杂的业务。主要运用于电商,SNS(社交软件),论坛。对简单的SQL处理效果好
  • PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究,都可以免费使用,修改和分发
  • SQLite:轻量级数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。设计目标是嵌入式的,目前已经在很多嵌入式产品中使用,占用资源非常低,在嵌入式设备中,可能只需要几百K的内存就足够了
  • H2:是一个用Java开发的嵌入式数据库,本身只是一个类库,可以直接嵌入到应用项目中

三. 服务器,数据库和表的关系

首先,在MySQL的配置文件/etc/my.cnf中,我们可以查看数据的默认存储路径

在这里插入图片描述
默认存放在/var/lib/mysql


当前的/var/lib/mysql中是这样的

在这里插入图片描述

简单建立一个helloMySQL的数据库,在helloMySQL中创建表,并插入一些数据

create database helloMySQL; 创建数据库
use helloMySQL; 使用数据库
create table student(...);创建数据库表
insert into student (...) values(...) 表中插入数据
select * from student 查询表中数据

在创建数据库后,/var/lib/mysql是这样的

在这里插入图片描述

可以看到,多了一个helloMySQL的目录

紧接着,我们创建表
在这里插入图片描述

helloMySQL目录中就会多出几个文件

在这里插入图片描述

尝试插入数据

在这里插入图片描述

我们简单使用了一下数据库。
其实建数据库在Linux层面就是创建了一个目录建表就是创建文件

  • 所谓安装数据库服务器,其实是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库
  • 为保护应用中实体的数据,一般会在数据库中创建多个,以保存程序中实体的数据

数据库服务器,数据库和表的关系如下:

在这里插入图片描述

四. MySQL架构

在这里插入图片描述

在这里插入图片描述

MySQL的架构可以大致分为三层

  • 第一层:连接器。用于管理连接,权限验证
  • 第二层:分析器,优化器,执行器。用于SQL语句的解析,传递
  • 第三层:存储引擎:插件式存储引擎,数据库管理系统如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方式。

show engines 查看存储引擎
常用的有innoDBMyISAM

五. SQL语句分类

  • DDL【data definition language】数据定义语言,用来维护存储数据的结构
    代表指令:create(创建),drop(丢弃),alter(修改)

  • DML【data manipulation language】数据操纵语言,用来对数据进行操作
    代表指令:insert(插入),delete(删除),update(更新)
    DML中又单独分了一个DQL,数据查询语言,代表指令:select(查询)

  • DCL【data control language】数据控制语言,主要负责权限管理和事务
    代表指令:grant(授予),revoke(撤销),commit(提交)

结束语

感谢你的阅读

如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
在这里插入图片描述

相关文章:

【MySQL】数据库基础知识

本文基于Linux的MySQL 文章目录 一. 什么是数据库二. 主流数据库三. 服务器,数据库和表的关系四. MySQL架构五. SQL语句分类结束语 一. 什么是数据库 数据库本质是对数据内容存储的一套解决方案 如何理解呢? 首先,说到数据内容存储&#xff…...

算法训练day36|贪心算法 part05(重叠区间三连击:LeetCode435. 无重叠区间763.划分字母区间56. 合并区间)

文章目录 435. 无重叠区间思路分析 763.划分字母区间思路分析代码实现思考总结 56. 合并区间思路分析 435. 无重叠区间 题目链接🔥🔥 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的…...

[Android] AndroidManifest.xml 详解

转载自: https://www.cnblogs.com/shujk/p/14961572.html 正文: AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限&…...

idea远程debug调试

背景 有时候我们线上/测试环境出现了问题,我们本地跑却无法复现问题,使用idea的远程debug功能可以很好的解决该问题 配置 远程debug的服务,我们使用Springboot项目为例(SpringCloud作为微服务项目我们可以可以使用本地注册到远程项目&…...

离散化,树状数组,P5459 [BJOI2016] 回转寿司

P5459 [BJOI2016] 回转寿司 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 酷爱日料的小Z经常光顾学校东门外的回转寿司店。在这里,一盘盘寿司通过传送带依次呈现在小Z眼前。 不同的寿司带给小Z的味觉感受是不一样的,我们定义小Z对每盘寿司…...

论文复现--VideoTo3dPoseAndBvh(视频转BVH和3D关键点开源项目)

分类:动作捕捉 github地址:https://github.com/HW140701/VideoTo3dPoseAndBvh 所需环境: Windows10,CUDA11.6,conda 4.13.0; 目录 环境搭建conda list配置内容演示生成文件说明 环境搭建 # 创建环境 conda…...

JS 检查某个值是否为某个类的实例

function checkIsInsByTarget(value, fun) {if (value null || value undefined || !(fun instanceof Function)) {return false;}return Object(value) instanceof fun; }这段代码的目的是检查一个对象是否是某个类(Class)的实例。它接受两个参数&…...

生动理解深度学习精度提升利器——测试时增强(TTA)

测试时增强(Test-Time Augmentation,TTA)是一种在深度学习模型的测试阶段应用数据增强的技术手段。它是通过对测试样本进行多次随机变换或扰动,产生多个增强的样本,并使用这些样本进行预测的多数投票或平均来得出最终预…...

Redis基础知识(四):使用redis-cli命令测试状态

文章目录 测试Redis服务是否启动查看Redis数据库运行状态 Redis是一款开源的高性能键值数据库,具有快速、灵活、高效、稳定的特点,广泛应用于互联网领域。在开发过程中,我们需要通过测试Redis的状态来保证其正常运行,这就需要使用…...

【web开发】4、JavaScript与jQuery

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、JavaScript与jQuery二、JavaScript常用的基本功能1.插入位置2.注释3.变量4.数组5.滚动字符 三、jQuery常用的基本功能1.引入jQuery2.寻找标签3.val、text、appe…...

关于el-date-picker组件修改输入框以及下拉框的样式

因为业务需求,从element plus直接拿过来的组件样式和整体风格不搭,所以要修改样式,直接deep修改根本不生效,最后才发现el-date-picker组件有一个popper-class属性,通过这个属性我们就能够修改下拉框的样式,…...

JSCPC f ( 期望dp

#include <bits/stdc.h> using namespace std; using VI vector<int>; double dp[2000010]; int n; string s; //可能要特判 b 1的情况 //有 a 个 材料 ,每 b 个 合成一个&#xff0c;俩种方案&#xff0c; //1 . 双倍产出 p //2 . 返还材料 q int a,b; double …...

Django(10)-项目实战-对发布会管理系统进行测试并获取测试覆盖率

在发布会签到系统中使用django开发了发布会签到系统, 本文对该系统进行测试。 django.test django.test是Django框架中的一个模块,提供了用于编写和运行测试的工具和类。 django.test模块包含了一些用于测试的类和函数,如: TestCase:这是一个基类,用于编写Django测试用…...

ABB机器人10106故障报警(维修时间提醒)的处理方法

ABB机器人10106故障报警&#xff08;维修时间提醒&#xff09;的处理方法 故障原因&#xff1a; ABB机器人智能周期保养维护提醒&#xff0c;用于提示用户对机器人进行必要的保养和检修。 处理方法&#xff1a; 完成对应的保养和检修后&#xff0c;要进行一个操作&#xf…...

性能测试 —— 吞吐量和并发量的关系? 有什么区别?

吞吐量&#xff08;Throughput&#xff09;和并发量&#xff08;Concurrency&#xff09;是性能测试中常用的两个指标&#xff0c;它们描述了系统处理能力的不同方面。 吞吐量&#xff08;Throughput&#xff09; 是指系统在单位时间内能够处理的请求数量或事务数量。它常用于…...

Fastjson反序列化漏洞

文章目录 一、概念二、Fastjson-历史漏洞三、漏洞原理四、Fastjson特征五、Fastjson1.2.47漏洞复现1.搭建环境2.漏洞验证&#xff08;利用 dnslog&#xff09;3.漏洞利用1)Fastjson反弹shell2)启动HTTP服务器3)启动LDAP服务4)启动shell反弹监听5)Burp发送反弹shell 一、概念 啥…...

AI 帮我写代码——Amazon CodeWhisperer 初体验

文章作者&#xff1a;游凯超 人工智能的突破和变革正在深刻地改变我们的生活。从智能手机到自动驾驶汽车&#xff0c;AI 的应用已经深入到我们生活的方方面面。而在编程领域&#xff0c;AI 的崭新尝试正在开启一场革命。Amazon CodeWhisperer&#xff0c;作为亚马逊云科技的一款…...

实训笔记9.1

实训笔记9.1 9.1笔记一、项目开发流程一共分为七个阶段1.1 数据产生阶段1.2 数据采集存储阶段1.3 数据清洗预处理阶段1.4 数据统计分析阶段1.5 数据迁移导出阶段1.6 数据可视化阶段 二、项目的数据产生阶段三、项目的数据采集存储阶段四、项目数据清洗预处理的实现4.1 清洗预处…...

汽车SOA架构

文章目录 一、汽车SOA架构的基本概念二、汽车SOA架构的优势三、从设计、开发和测试方面介绍汽车SOA架构四、SOA技术在汽车行业的应用 汽车SOA架构是指汽车软件架构采用面向服务的架构&#xff08;Service-Oriented Architecture&#xff0c;简称SOA&#xff09;的设计模式。SOA…...

L1-017 到底有多二 C++解法

题目 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数&#xff0c;则程度增加0.5倍&#xff1b;如果还是个偶数&#xff0c;则再增加1倍。例如数字-13142223336是个11位数&#xff0c;其中有3个2&#xff0c;并且是负数&#xff0c;也是偶数…...

为什么选择ODB++格式?Cadence与HyperLynx数据交换的最佳实践

为什么选择ODB格式&#xff1f;Cadence与HyperLynx数据交换的最佳实践 在高速PCB设计领域&#xff0c;数据格式的选择直接影响着设计到制造的整个流程效率。当工程师需要在Cadence Allegro和HyperLynx之间传递设计数据时&#xff0c;ODB正逐渐成为行业首选。这种智能数据格式不…...

如何打破微信单设备限制:WeChatPad终极指南

如何打破微信单设备限制&#xff1a;WeChatPad终极指南 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是不是也遇到过这样的尴尬时刻&#xff1f;在电脑上登录微信工作&#xff0c;手机上的微信就被迫下线…...

Mojo加速Python科学计算:如何在72小时内将AI推理速度提升8.6倍(附完整可运行代码)

第一章&#xff1a;Mojo与Python混合编程概述Mojo 是一种为 AI 系统量身打造的现代系统编程语言&#xff0c;兼具 Python 的易用性与 C/C 的执行效率。它原生兼容 Python 生态&#xff0c;允许开发者在同一个项目中无缝调用 Python 模块、复用现有 NumPy/Torch 代码&#xff0c…...

从HTTP到gRPC:etcd v2与v3 API调用差异及Postman实战解析

1. etcd v2与v3 API的核心差异解析 第一次接触etcd时&#xff0c;你可能和我一样被网上的v2教程坑过——照着文档发送HTTP请求却总是返回404错误。这其实是因为etcd v3默认关闭了v2 API支持&#xff0c;而大多数中文教程还在用陈旧的v2示例。让我们先理清这两个版本的本质区别&…...

Stable Diffusion v1.5 Archive 镜像实测:5步完成部署,快速体验文生图

Stable Diffusion v1.5 Archive 镜像实测&#xff1a;5步完成部署&#xff0c;快速体验文生图 1. 开篇&#xff1a;为什么选择SD1.5 Archive版本 Stable Diffusion作为当前最热门的开源AI绘画模型&#xff0c;已经迭代了多个版本。其中v1.5作为经典版本&#xff0c;在图像质量…...

告别复杂配置:Ostrakon-VL-8B零售多模态模型一键部署实战

告别复杂配置&#xff1a;Ostrakon-VL-8B零售多模态模型一键部署实战 1. 为什么选择Ostrakon-VL-8B&#xff1f; 零售行业每天需要处理大量商品图片、货架陈列和顾客反馈&#xff0c;传统的人工分析方式效率低下且成本高昂。Ostrakon-VL-8B作为专为零售场景优化的多模态大模型…...

Z-Image-GGUF模型Java后端集成指南:SpringBoot微服务实战

Z-Image-GGUF模型Java后端集成指南&#xff1a;SpringBoot微服务实战 最近在做一个内容创作平台的后台重构&#xff0c;产品经理提了个需求&#xff0c;想给用户加个“AI一键生成文章配图”的功能。团队评估了几个方案&#xff0c;最终决定用Z-Image-GGUF这个模型&#xff0c;…...

STM32驱动SG90舵机:从PWM原理到蓝牙远程控制实战

1. 认识SG90舵机与PWM控制 第一次拿到SG90这个小家伙时&#xff0c;我差点以为是个玩具电机。直到把它接上STM32&#xff0c;看到它能精准地停在指定角度&#xff0c;才意识到这玩意儿在机器人、智能家居里有多实用。SG90是一种微型舵机&#xff0c;三根线分别接电源&#xff0…...

AI模型下载加速实战指南:突破ComfyUI大文件传输瓶颈

AI模型下载加速实战指南&#xff1a;突破ComfyUI大文件传输瓶颈 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 在AI模型训练与部署流程中&#xff0c;模型文件的高效获取常常成为制约工作流效率的关键环节。当面对动…...

GPEN快速上手教程:手机自拍模糊修复,30秒获取高清证件照

GPEN快速上手教程&#xff1a;手机自拍模糊修复&#xff0c;30秒获取高清证件照 你是不是也遇到过这种情况&#xff1a;急着要用证件照&#xff0c;翻遍手机相册却发现每张自拍都模糊不清&#xff1f;要么是光线太暗&#xff0c;要么是手抖拍糊了&#xff0c;要么就是像素太低…...