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

MySQL十部曲之一:MySQL概述及手册说明

文章目录

  • 数据库、数据库管理系统以及SQL之间的关系
  • 关系型数据库与非关系型数据库
  • MySQL程序
  • 系统变量
  • 系统状态变量
  • SQL模式
  • MySQL数据目录
  • 手册语法约定

数据库、数据库管理系统以及SQL之间的关系

名称说明
数据库(Database)即存储数据的仓库,其本质是一个文件系统。它保存了一系列有组织的数据。
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
结构化查询语言(Structured Query Language)专门用来与数据库通信的语言。

数据库管理系统可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。数据库管理系统、数据库和表的关系如图所示:

在这里插入图片描述

关系型数据库与非关系型数据库

关系型数据库模型是把复杂的数据结构归结为简单的二元关系 (即二维表格式),它以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了一个库。表与表之间的数据记录存在关系。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。因此关系型数据库,就是建立在关系模型基础上的数据库。SQL 就是关系型数据库的查询语言。非关系型数据库,可看成关系型数据库的阉割版本,它基于键值对存储数据,不需要经过SQL层的解析。NoSQL 一词泛指非关系型数据库,常用的非关系型数据库如下:

类型说明代表
键值型数据库键值型数据库通过 Key-Value 键值的方式来存储数据,优点是查找速度快,缺点是无法像关系型数据库一样使用条件过滤。键值型数据库典型的使用场景是作为 内存缓存Redis
文档型数据库文档型数据库可存放并获取文档,在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。MongoDB
搜索引擎数据库虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。Elasticsearch
图形数据库图形数据库是一种存储图形关系的数据库。它利用了图这种数据结构存储了实体之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。Neo4J

MySQL程序

MySQL包括许多不同的程序。本节提供了它们的简要概述。大多数MySQL发行版包括所有这些程序,除了那些特定于平台的程序。

  • 每个MySQL程序都有许多不同的选项。大多数程序都提供--help选项,您可以使用它来获取程序不同选项的描述。
  • 可以通过在命令行或选项文件中指定选项来覆盖MySQL程序的默认选项值。

守护进程mysqld(即MySQL服务器)是完成MySQL大部分工作的主要程序。以下几个相关的脚本,帮助您启动和停止服务器:

  • mysqld_safe:服务器启动脚本。mysqld_safe尝试启动mysqld。
  • mysqld_multi:一个服务器启动脚本,可以启动或停止系统上安装的多个服务器。

连接MySQL服务器的MySQL客户端程序:

  • mysql:用于交互式输入SQL语句或以批处理模式从文件执行SQL语句的命令行工具。
  • mysqldump:将MySQL数据库转储为SQL、文本或XML文件的客户端。
  • mysqlimport:使用LOAD DATA将文本文件导入各自表的客户端。
  • mysqlpump:将MySQL数据库转储为SQL文件的客户端。

MySQL管理和实用程序:

  • mysqlbinlog:从二进制日志中读取语句的实用程序。二进制日志文件中包含的已执行语句的日志可用于帮助从崩溃中恢复。
  • mysqldumpslow:读取和总结慢速查询日志内容的实用程序。

系统变量

MySQL服务器维护着很多影响其运行的系统变量。大多数系统变量可以在服务器启动时通过命令行或选项文件设置。它们中的大多数都可以在运行时使用SET语句动态更改,这使得您可以在不停止和重新启动服务器的情况下修改服务器的操作。有些变量是只读的,它们的值由系统环境、MySQL在系统上的安装方式或编译MySQL时使用的选项决定。大多数系统变量都有默认值。

系统变量存在两种作用域。全局变量影响服务器的整体操作。会话变量影响其对各个客户端连接的操作。给定的系统变量可以同时具有全局值和会话值。全局系统变量和会话系统变量的关系如下:

  • 当服务器启动时,它将每个全局变量初始化为默认值。这些默认值可以通过在命令行或选项文件中指定的选项来更改。
  • 服务器还为连接的每个客户机维护一组会话变量。客户端的会话变量在连接时使用相应的全局变量的当前值初始化。例如,客户端的SQL模式由会话sql_mode值控制,该值在客户端连接到全局sql_mode值时初始化。

系统状态变量

MySQL服务器维护许多状态变量,这些变量提供有关其运行的信息。你可以使用SHOW [GLOBAL | SESSION] STATUS语句查看这些变量和它们的值。可选的GLOBAL关键字聚合所有连接的值,SESSION显示当前连接的值。

SQL模式

MySQL服务器可以在不同的SQL模式下运行,并且可以根据sql_mode系统变量的值为不同的客户端应用不同的SQL模式。DBA可以设置全局SQL模式以匹配站点服务器操作需求,每个应用程序可以将其会话SQL模式设置为自己的需求。

模式影响MySQL支持的SQL语法和它执行的数据验证检查。这使得在不同的环境中使用MySQL以及与其他数据库服务器一起使用MySQL变得更加容易。

MySQL数据目录

MySQL服务器管理的信息存储在一个名为data目录的目录下。以下列表简要描述了通常在data目录中找到的项目:

  • data目录子目录。data目录的每个子目录是一个数据库目录,对应于服务器管理的数据库。所有MySQL安装都有一定的标准数据库:
    • mysql目录对应于mysql系统表,其中包含mysql服务器运行时所需的信息。该数据库包含数据字典表和系统表。
    • performance_schema目录对应于Performance Schema,它提供用于在运行时检查服务器内部执行的信息
    • sys目录对应于sys表,它提供了一组对象来帮助更容易地解释性能模式信息。
    • ndbinfo目录对应于ndbinfo数据库,该数据库存储特定于NDB Cluster的信息

其他子目录对应于用户或应用程序创建的数据库。

手册语法约定

方括号[]表示可选词或语句,例如,在下面的语句中,IF EXISTS是可选的:

DROP DTABLE [IF EXISTS] tab1_name

当一个语法元素由多个备选项组成时,这些备选项由竖条|分隔。当可以从一组选项中选择一个成员时,备选项列在方括号内:

TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)

当必须从一组选项中选择一个成员时,备选项在大括号{}中列出:

{DESCRIBE | DESC} tbl_name [col_name | wild]

省略号表示省略语句的某一部分,通常是为了提供更复杂语法的更短版本。例如,SELECT…INTO OUTFILESELECT语句形式的简写。省略号还可以表示语句的前一个语法元素可以重复。在下面的示例中,可以给出多个reset_option值,每个值在第一个值之后以逗号开头:

RESET reset_option [,reset_option] ...

相关文章:

MySQL十部曲之一:MySQL概述及手册说明

文章目录 数据库、数据库管理系统以及SQL之间的关系关系型数据库与非关系型数据库MySQL程序系统变量系统状态变量SQL模式MySQL数据目录手册语法约定 数据库、数据库管理系统以及SQL之间的关系 名称说明数据库(Database)即存储数据的仓库,其本…...

node.js基础--01

Author nodes:(题记) node.js is an open-source,cross-platform JAVAScript runtime environment。 node.js是一个开源,跨平台的js运行环境 common commands(常用指令) 1、C: enter hard …...

基于GPT3.5逆向 和 本地Bert-Vits2-2.3 的语音智能助手

文章目录 一、效果演示二、操作步骤三、架构解析 一、效果演示 各位读者你们好,我最近在研究一个语音助手的项目,是基于GPT3.5网页版的逆向和本地BertVits2-2.3 文字转语音,能实现的事情感觉还挺多,目前实现【无需翻墙&#xff0…...

java stream简介

(1)Stream Stream(流)是一个来自数据源的元素队列并支持聚合操作。 forEach方法用来迭代流中的每个数据,没有返回值。map方法用于映射每个元素到对应的结果,有返回值,返回的是一个新流&#xf…...

机电制造ERP软件有哪些品牌?哪家的机电制造ERP系统比较好

机电制造过程比较复杂,涵盖零配件、采购、图纸设计、工艺派工、生产计划、物料需求计划、委外加工等诸多环节。而供应链涉及供应商的选择、材料采购价格波动分析、材料交货、品质检验等过程,其中某个环节出现问题都可能会影响产品交期和经营效益。 近些…...

分布式ID(4):雪花算法生成ID之Leaf(美团点评分布式ID生成系统)

1 Leaf官方地址 Leaf源码地址: https://github.com/Meituan-Dianping/Leaf Leaf官方说明文档地址: https://tech.meituan.com/2019/03/07/open-source-project-leaf.htmlhttps://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.md 这边只做简单介绍,详细说明…...

翻译: GPT-4 Vision征服LLM幻觉hallucinations 升级Streamlit六

GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三翻译: GPT-4 Vision从图像转换为完全可编辑的表格 升级St…...

TextView的setTextSize与xml中android:textSize属性值的对应关系

android中,对TextView设置文本字体大小,是通过在layout xml中设置android:textSize的属性值实现的,比如设置“24sp”,这里的sp是一种单位,其他可选的单位还有px,dip(dp),pt,in&#…...

广东盈致mes系统在注塑行业的应用

广东盈致MES系统在注塑行业的应用主要体现在以下几个方面: 生产计划与调度:盈致MES系统能够根据订单需求和生产计划,自动生成生产任务,并跟踪生产进度,确保按时完成生产任务。通过与注塑机的集成,系统可以自…...

如何获得《幻兽帕鲁》隐藏帕鲁唤夜兽?13000个配种配方查询 幻兽帕鲁Steam好评率还在涨 Mac苹果电脑玩幻兽帕鲁 Crossover玩Windows游戏

《幻兽帕鲁》是一款Steam平台热门游戏,开放式大陆和养成式冒险结合,成为2024首款热门游戏,不过由于官方仅发布了Windows版的游戏客户端,Mac用户无法直接玩,好在有Crossover这样的神器,让苹果电脑也能玩上《…...

elementui中的tree自定义图标

需求&#xff1a;实现如下样式的树形列表 自定义树的图标以及点击时&#xff0c;可以根据子级的关闭&#xff0c;切换图标 <el-tree :data"treeList" :props"defaultProps"><template #default"{ node, data }"><span class&quo…...

mybatis实现模糊搜索

这里使用if标签进行是实现&#xff0c;使用like标签也可以实现&#xff0c;只是容易出错了&#xff0c;下面 直接上代码 只需要把字段名和搜索条件替换就行。 <select id"selectByLike" parameterType"map" resultType"YourResultType">…...

ssh 修改端口号 一个ip ssh多个主机

ssh默认端口为22。 通过路由映射&#xff0c;保留一个22端口&#xff0c;其它主机修改端口&#xff0c;可以用一个ip ssh多个主机。 修改端口需修改/etc/ssh/sshd_config sudo vim /etc/ssh/sshd_config/Port #Port 22删除前面的#&#xff0c;然后修改端口号&#xff0c;如23 …...

Proto文件如何生成JavaProto对象?

首先安装好Protocol Buffer的编译器 Protocol Buffer: version:2.6.1 link: 链接直达 根据电脑环境进行下载&#xff0c;Widnwos 32/64位就选择win32是没问题的&#xff0c;楼主亲测 1.proto文件编写 Person.proto public class Person {String name;int id;String email…...

LightDB 24.1 UNION支持null类型匹配

背景介绍 在LightDB 24.1之前的版本&#xff0c;UNION null类型匹配会报错。 lightdbpostgres# select null l_zqlbmx2 union all select null l_zqlbmx2 union all select sysdate l_zqlbmx; ERROR: UNION types text and timestamp without time zone…...

使用vs2022将.net8的应用程序发布为一个单独文件

在使用.NetCore3.1时&#xff0c;可以通过设置以下工程配置文本来将项目发布为一个单独的应用程序文件&#xff1a; <Project Sdk"Microsoft.NET.Sdk.WindowsDesktop"><PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework><…...

面试经典150题(93-95)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第五十三天&#xff09;完成了3道(93-95)150&#xff1a; 93.&#xff08;53. 最大子数组和&#xff09;题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&am…...

flask 实现token生成以及携带token请求接口

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Flask-JWT-Extended是什么&#xff1f;二、使用步骤1.引入库2.请求验证 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 提示&…...

docker-compose部署单机ES+Kibana

记录部署的操作步骤 准备工作编写docker-compose.yml启动服务验证部署结果 本次elasticsearch和kibana版本为8.2.2 使用环境&#xff1a;centos7.9 本次记录还包括&#xff1a;安装elasticsearch中文分词插件和拼音分词插件 准备工作 1、创建目录和填写配置 mkdir /home/es/s…...

gitee仓库项目迁移到gitlab仓库

背景 之前一直使用gitee代码仓库提交代码&#xff0c;现在需要将gitee仓库中的代码迁移到gitlab中&#xff0c;并保留原有的提交记录。 前提 配置好了本地git&#xff0c;并本地与gitlab仓库已连接。 我这里使用 ssh方式拉去代码&#xff0c;因此需要配置ssh密钥 步骤 也可以直…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...