MySQL基础与库的基本操作

news2024/11/24 16:58:02

目录

  • 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.coloradmin.cn/o/993898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为Mate60Pro携麒麟芯片回归,下半年国内手机市场出货量有望提升

本文由群狼调研**(长沙产品价格监测)**出品,欢迎转载,请注明出处。8月29日中午,华为以“Mate 60 Pro先锋计划”方式让Mate 60 Pro悄然开卖,线上线下用户纷纷前往抢购,据购买到新机的网友网络测速…

2672. 有相同颜色的相邻元素数目;1947. 最大兼容性评分和;958. 二叉树的完全性检验

2672. 有相同颜色的相邻元素数目 核心思想:枚举。每次操作只会影响index左右两边的数,所以我们只需要判断操作前index左右是否存在相同的数,然后减少一;然后将颜色修改,然后判断修改后index左右相邻的数是否是相同的&…

极致精细的jmeter+ant+jenkins 搭建接口自动化测试

一、jmeter 相信大家对jmeter并不陌生哈,如果没有安装和配置环境的小伙伴,可以直接找到我哈,我发给你。 二、ant 安装ant 第一步:下载ant http://ant.apache.org/ 第二步:配置ant window中设置ant环境变量&…

【C语言】每日一题(杨氏矩阵查找数)

目录 杨氏矩阵介绍:方法:思路:代码实现: 杨氏矩阵介绍: 既然在杨氏矩阵中查找数,那什么是杨氏矩阵呢? 矩阵的每行从左到右是递增的,矩阵从上到下是递增的。 例如: 方法…

四)Stable Diffussion使用教程:图生图

这一篇来说说图生图。 除了文生图之外,SD常用的还有图生图模式。 图生图,顾名思义就是使用一张图去让AI生成自己喜欢的另一张图。 有时候我们有一张喜欢的图,但是希望换一种颜色方案,这时就可以通过图生图的方式去实现了&#…

Python Asyncio 调用 CPU 多核工作

前言 Python 的 Asyncio 适合异步处理 IO 密集型的事务, 比如 HTTP 请求, 磁盘读写, 数据库操作等场景. 如果使用传统的顺序执行代码, 需要等待每次 IO 事务进行完成后才可以继续后面的代码. 通过在定义函数时添加修饰词 async 可以将其设置为异步函数, 后续配合 Asyncio 可以…

【MySQL】MySQL对于千万级的数据库或者大表怎么处理?

大致的思路 第一优化你的sql和索引; 第二加缓存,memcached,redis; 第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工…

前端面试题JS篇(3)

["1", "2", "3"].map(parseInt) 答案是多少? 答案:[1, NaN, NaN] 原因:[1, NaN, NaN]因为 parseInt 需要两个参数(val, radix),其中 radix 表示解时用的基数。 map 传了 3 个(element, index, array) &…

【好书推荐】《速学Linux:系统应用从入门到精通》

目录 前言一、为什么学习Linux系统二、Linux系统的应用领域1.Linux在服务器的应用2.嵌入式Linux的应用3.桌面Linux的应用 三、Linux的版本选择1、经验人士使用的Debian2、以桌面应用为主的Ubuntu3、以经典桌面配置为主的Mint4、社区企业操作系…

CTFhub_SSRF靶场教程

CTFhub SSRF 题目 1. Bypass 1.1 URL Bypass 请求的URL中必须包含http://notfound.ctfhub.com,来尝试利用URL的一些特殊地方绕过这个限制吧 1.利用?绕过限制urlhttps://www.baidu.com?www.xxxx.me 2.利用绕过限制urlhttps://www.baidu.comwww.xxxx.me 3.利用斜…

ctfshow-web-【nl】难了

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 这里首先看到只要当1小于4的时候才可以执行命令。这里看到题目【nl】,先查一下nl的含义,这个命令是将文件里的…

Eureka 笔记

服务端&#xff1a; 创建springBoot 项目 1.步骤 导入在pom.xml中 导入 eureka-server的 jar包 2.步骤 在主方法加注解 EnableEurekaServer 3. 步骤 在配置config 1.步骤pox.xml: <?xml version"1.0" encoding"UTF-8"?&g…

瑞吉外卖第二天

问题分析 前面我们已经完成了后台系统的员工登录功能开发&#xff0c;但是目前还存在一个问题&#xff0c;接下来我们来说明一个这个问题&#xff0c; 以及如何处理。 1). 目前现状 用户如果不登录&#xff0c;直接访问系统首页面&#xff0c;照样可以正常访问。 2). 理想…

Java 【异常】

一、认识异常 Exception 在 Java 中&#xff0c;将程序执行过程中发生的不正常行为称为异常 。 异常是异常exception&#xff0c;报错是报错error 1.算数异常 0不能作为除数&#xff0c;所以算数异常 2.空指针异常 arr不指向任何对象&#xff0c;打印不出arr的长度&#xff0c;…

【动态规划刷题 12】等差数列划分 最长湍流子数组

139. 单词拆分 链接: 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: …

思腾合力GPU服务器

布局智能生产基地&#xff01;经开区思腾合力超前助力“东数西算”&#xff01; 2022-04-20 18:41泰达服务 算力作为数字经济的核心生产力&#xff0c;是国民经济发展的重要基础设施。经开区企业思腾合力在“十四五”开局之年打造出集研发、生产、制造为一体的人工智能产业园…

【C++】常用拷贝和替换算法

0.前言 1.copy #include <iostream> using namespace std;// 常用拷贝算法 copy #include<vector> #include<algorithm>void myPrint(int val) {cout << val << " "; }void test01() {vector<int>v;for (int i 0; i < 10; i…

@Autowired和@Resource

文章目录 简介Autowired注解什么是Autowired注解Autowired注解的使用方式Autowired注解的优势和不足 Qualifier总结&#xff1a; Resource注解什么是Resource注解Resource注解的使用方式Resource注解的优势和不足 Autowired vs ResourceAutowired和Resource的区别为什么推荐使用…

Django+Nginx+uWSGI+Supervisor实战

大家好&#xff0c;真的是许久没有更新文章了&#xff0c;甚是想念&#xff0c;最近这段时间事情很多&#xff0c;家里的事情、工作的事情&#xff0c;真没有太多时间去码文章&#xff0c;其实已经搁置了些许文章&#xff0c;没有整理&#xff0c;趁着这段时间风平浪静&#xf…

MSOS604A是德科技keysight MSOS604A示波器

181/2461/8938Infiniium S系列示波器融合了创新技术&#xff0c;旨在提供卓越的测量。新的10位ADC和低噪声前端技术协同工作&#xff0c;提供高达8 GHz的性能和业界最佳的信号完整性。一个高级框架&#xff0c;配有可快速启动的固态硬盘、可轻松触摸的15英寸电容式显示屏和可快…