MySQL基础与库的基本操作

目录

  • 1 MySQL基础
    • 一种存储解决方案
    • SQL分类
    • 查看MySQL存储引擎
  • 2 MySQL 库的操作
    • 数据库基本增删
    • 认识系统编码
    • 校验规则对数据库的影响
    • 数据库的查看与删除
    • 修改数据库
    • 数据库的备份与恢复
    • 查看连接情况

1 MySQL基础

一种存储解决方案

mysql本质是一种网络服务

mysql – 数据库服务的客户端

mysqld – 数据库服务的服务器端

mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务

  1. mysql是一套给我们提供数据存取的服务的网络程序
  2. 数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据 – 将来在磁盘上存储的一套数据库方案
  3. 数据库服务 – mysqld

为什么不直接用文件?

一般的文件确实提供了数据的存储能力,但并没有提供很好的数据管理能力(用户(程序员)角度)

因此:数据库本质->对数据内容存储的一套解决方案,用户给数据库字段或者要求,数据库直接给结果就行

image-20230908213844662

  1. 建立数据库,本质就是Linux下的一个目录

image-20230908212623644

  1. 在数据库内建立表,本质就是在Linux下创建对应的文件即可!

image-20230908213240097

  1. 在表中插入数据并查询

image-20230908213643492

以上工作,本质是mysqld做的。

数据本质也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作。

在这里插入图片描述

MySQL Server由以下三层构成:

  1. 连接池(Connection Pool):负责处理客户端与服务器之间的连接。它接收来自客户端的请求,并将其传递给下一层进行处理。
  2. 查询层(Query Layer):负责解析和执行SQL查询。它将查询发送到存储引擎,并将结果返回给连接层。
  3. 存储引擎层(Storage Engine Layer):负责数据的存储和检索。它处理存储和读取数据的底层操作,可以根据需要选择不同的存储引擎,如InnoDB、MyISAM等。存储引擎层将数据存储在磁盘上,并提供对数据的访问和修改功能。

image-20230908220212318

SQL分类

  • DDL 数据定义语言,用来维护存储数据的结构,代表指令:create,drop,alter
  • DML 数据操纵语言,用来对数据进行操作,代表指令:insert,delete,update
    • DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL 数据控制语言,主要负责权限管理和事务,代表指令:grant,revoke,commit

查看MySQL存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询等技术的实现方法

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

通过show engines查看存储引擎:

image-20230908221602199

mysql最常用的两个存储引擎:

  • InnoDB
  • MyISAM

2 MySQL 库的操作

数据库基本增删

  1. 创建数据库:create database [if not exists] db_name;

    image-20230908222610553

  2. 删除数据库:drop database db_name;

    image-20230908222542729

创建数据库时的编码问题

创建数据库时,有两个编码集:

  1. 数据库编码集 – 数据库未来存储数据采用的编码
  2. 数据库校验集 – 对数据库内数据进行查找匹配是的校验规则,支持数据库进程字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式

存数据和取数据时,编码集必须是统一的。

数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的。

认识系统编码

查看系统编码集和校验集

  • 查看系统默认支持的字符集(编码集)

image-20230908223816315

  • 查看系统默认的校验集

    image-20230908224202658

  • 查看数据库支持的所有字符集,字符集主要是控制用什么语言,比如utf8就可以使用英文

    image-20230908224325082

  • 查看数据库支持的字符集校验规则
    image-20230909151154615

  • 创建一个使用utf-8字符集,校对规则为utf8_general_ci的db2数据库
    image-20230909154239021

校验规则对数据库的影响

  • 创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]

image-20230909163610575

image-20230909164324205

  • 创建一个数据库,校验规则使用utf8_ bin[区分大小写]

image-20230909170913309

数据库的查看与删除

image-20230909171442371

修改数据库

修改数据库字符集以及校验集: alter

显示创建语句:show create database 数据库名

对数据库的修改主要是修改数据库的字符集,校验规则

image-20230909174430456

数据库的备份与恢复

  • 备份
    image-20230909205332331

  • 查看备份文件(本质是把从创建该数据到备份时的命令进行备份)
    image-20230909205445037

  • 删除后恢复
    image-20230909205821104

另外:

  • 如果备份的不是整个数据库,而是其中一张表

    # mysqldump -u root -p 数据库名 表名1 表名2 > db.sql

  • 同时备份多个数据库

    # mysqldump -u root -p -B 数据库名1 数据库名2 > db.sql

  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

查看连接情况

show processlist
在这里插入图片描述

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/127009.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable DIffusion系统教程 | 局部重绘,增删修改的魔法棒

目录 1. 基本操作 1.1 步骤1 补充提示词 1.2 步骤2 绘制蒙版 1.3 步骤3 参数设置 2.局部重绘其他应用 2.1 手绘蒙版 2.2 删除某些东西 之前我们熟悉了AI绘画的各类模型,提示词写法,图像放大等技巧。但我们目前所有的操作都是针对整张图片的。 但…

栈的压入、弹出序列

⭐️ 题目描述 🌟 OJ链接:栈的压入、弹出序列 思路: 我们使用一个栈来模拟题目所给的压入、和弹出序列,若模拟成功则是真,模拟失败返回假。我们可以每次先从 pushV 入栈一个元素,在判断当前栈顶元素和 pop…

企业架构LNMP学习笔记10

1、Nginx版本,在实际的业务场景中,需要使用软件新版本的功能、特性。就需要对原有软件进行升级或重装系统。 Nginx的版本需要升级迭代。那么如何进行升级呢?线上服务器如何升级,我们选择稳定版本。 从nginx的1.14版本升级到ngin…

pprof火焰图性能优化

pprof火焰图性能优化 火焰图(flame graph)是性能分析的利器,在go1.1之前的版本我们需要借助go-torch生成,在go1.1后go tool pprof集成了此功能,今天就来说说如何使用其进行性能优化 在你启动http server的地方直接加入导入: _ “net/http/pprof” 获取…

zabbix监控H3C设备

背景 常见的服务和主机已经使用Prometheus进行监控了,但是网络设备还未配置监控。使用基于SNMP对网络设备进行监控。 设备概览 主要类型为H3C的路由器和交换机。H3CS5560交换机 路由器MER5200 er8300 步骤 配置网络设备开启telnet远程; 配置启用sn…

阻塞/非阻塞、同步/异步(网络IO)

1.阻塞/非阻塞、同步/异步(网络IO) 【思考】典型的一次 IO 的两个阶段是什么? 数据就绪 和 数据读写 数据就绪 :根据系统 IO 操作的就绪状态 阻塞 非阻塞 数据读写 :根据应用程序和内核的交互方式 同步 异步 陈硕:在处理 IO …

IDEA无效发行版本17

IDEA无效发行版本17 idea开发工具依赖的 jdk版本 和 项目依赖的jdk版本一定要保持 一致,不然会报错。 setting-->build-->compiler-》javaCompiler project->structure 这个也要保持一样。 在porm.xml文件中,你配置jdk版本是1.8,这…

【Linux】管道

管道命令 #include <unistd.h> int pipe(int pipefd[2]); 在Linux中&#xff0c;管道&#xff08;pipe&#xff09;的返回值是一个整数数组&#xff0c;包含两个文件描述符。这两个文件描述符分别代表管道的读端和写端。 当成功创建一个管道时&#xff0c;pipe() 系统调用…

五)Stable Diffussion使用教程:文生图之高清修复

上一篇我们说到图生图,这一篇来说说高清修复。 上一篇我们通过一个例子实现了图生图的功能,使用一张图片生成了另一种风格的图片。 然而,我们生成的图片质量不尽如人意。 虽然我们之前也提到设置分辨率、精炼提示词去提升画面质量等等,但是实际用下来发现,分辨率拉得太…

LLM推理优化技术综述:KVCache、PageAttention、FlashAttention、MQA、GQA

LLM推理优化技术综述&#xff1a;KVCache、PageAttention、FlashAttention、MQA、GQA 随着大模型被越来越多的应用到不同的领域&#xff0c;随之而来的问题是应用过程中的推理优化问题&#xff0c;针对LLM推理性能优化有一些新的方向&#xff0c;最近一直在学习和研究&#xf…

苍穹外卖技术栈

重难点详解 1、定义全局异常 2、ThreadLocal ThreadLocal 并不是一个Thread&#xff0c;而是Thread的一个局部变量ThreadLocal 为每一个线程提供独立的存储空间&#xff0c;具有线程隔离的效果&#xff0c;只有在线程内才能取到值&#xff0c;线程外则不能访问 public void …

OpenCV项目开发实战--实现面部情绪识别对情绪进行识别和分类及详细讲解及完整代码实现

文末提供免费的完整代码下载链接 面部情绪识别(FER)是指根据面部表情对人类情绪进行识别和分类的过程。通过分析面部特征和模式,机器可以对一个人的情绪状态做出有根据的猜测。面部识别的这个子领域是高度跨学科的,借鉴了计算机视觉、机器学习和心理学的见解。 在这篇研究…

JavaScript基础知识09——数据类型

哈喽&#xff0c;大家好啊&#xff0c;这里是雷工笔记&#xff0c;我是雷工。 数据类型比较常见&#xff0c;无论是对程序员&#xff0c;还是电气工程师来说&#xff0c;都再熟悉不过了&#xff0c;这里跟着教程了解一下&#xff0c;主要看跟自己以往在其他PLC&#xff0c;C#&a…

Windows环境下Elasticsearch相关软件安装

Windows环境下Elasticsearch相关软件安装 本文将介绍在 windows 环境下安装 Elasticsearch 相关的软件。 1、安装Elasticsearch 1.1 安装jdk ElasticSearch是基于lucence开发的&#xff0c;也就是运行需要java jdk支持&#xff0c;所以要先安装JAVA环境。 由于ElasticSear…

基于SSM的校园美食交流系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

算法 数据结构 递归冒泡算法 java冒泡算法 优化递归冒泡 数据结构(九)

使用递归算法实现冒泡&#xff1a; package com.nami.algorithm.study.day06;import java.util.Arrays;/*** beyond u self and trust u self.** Author: lbc* Date: 2023-09-05 15:36* email: 594599620qq.com* Description: keep coding*/ public class BubbleSort2 {// p…

2023 年最新Java 毕业设计选题题目参考,500道 Java 毕业设计题目,值得收藏

大家好&#xff0c;我是程序员徐师兄&#xff0c;最近有很多同学咨询&#xff0c;说毕业设计了&#xff0c;不知道选怎么题目好&#xff0c;有哪些是想需要注意的。 确实毕设选题实际上对很多同学来说一个大坑&#xff0c; 每年挖坑给自己跳的人太多太多&#xff0c;选题选得好…

目标检测评估指标mAP:从Precision,Recall,到AP50-95

1. TP, FP, FN, TN True Positive 满足以下三个条件被看做是TP 1. 置信度大于阈值&#xff08;类别有阈值&#xff0c;IoU判断这个bouding box是否合适也有阈值&#xff09; 2. 预测类型与标签类型相匹配&#xff08;类别预测对了&#xff09; 3. 预测的Bouding Box和Ground …

支付宝沙箱调用错误

支付宝沙箱调用参数就三个APPID&#xff0c;用户私钥&#xff0c;支付宝公钥&#xff0c; 发送请求需要的配置 alipay: app_id: 2021000122636644 merchant_private_key: 用户私钥 alipay_public_key: 支付宝公钥 sign_type: RSA2 charset: utf-8 gatewayUrl: https://openap…

5分钟让你实现一个Python+Selenium的自动化测试框架(超详细~)

什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firefox的…