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

MySQL之四大引擎、账号管理以及建库

目录

数据库存储引擎

简介

 存储引擎得查看

 support字段说明 

InnoDB

MyISAM

MEMORY

Archive

数据库管理

元数据库简介

元数据库分类 

相关操作

 MySQL库

 数据表管理

三大范式

基本数据类型

优化原则

整形

实数

字符串 

text&blob

日期类型 

选中标识符

数据库账号管理 

查询用户

查看常用的用户信息

权限操作

设置权限 

思维导图

 


数据库存储引擎

简介

是一种用于存储、管理和检索数据的软件程序,它负责在数据库中存储数据、执行查询和管理数据的存取。存储引擎通过将数据存储在磁盘上,并提供一组API来访问和操作数据,从而实现数据库的持久化存储和高效的数据查询功能。常见的数据库存储引擎有InnoDB、MyISAM、MongoDB、SQLite等。不同的存储引擎具有不同的特性和适用场景,可以根据实际需求选择合适的存储引擎来搭建数据库系统。

 存储引擎得查看

  命令:SHOW ENGINES

 support字段说明 

1.default为默认引擎

2.YES则可以使用

3.NO则不可以使用

InnoDB

1.使用场景:适合需要支持事务处理、具有高并发读写需求的数据库应用,如电子商务平台、社交网络应用等。

2.特点:支持事务处理、具有较高的并发性能、支持外键约束、具有崩溃恢复功能。

3.存储限制:64GB

4.事务支持:支持事务

MyISAM

1.使用场景:适合用于读写操作相对平衡的应用程序,如博客、新闻网站等。

2.特点:不支持事务,表级锁定,不支持外键约束,适合于静态和频繁读取的数据。

3.存储限制:256GB

4.事务支持:不支持事务

MEMORY

1.使用场景:MEMORY存储引擎适用于需要快速读取和操作临时数据的场景,如缓存、临时表等。

2.特点:MEMORY存储引擎将表的数据存储在内存中,因此读取速度非常快,适合于对读性能要求较高的应用。它支持事务处理,但是在服务器重启或崩溃时,所有的数据会丢失。MEMORY存储引擎不支持外键约束和崩溃恢复功能,同时对于数据的存储和访问没有进行磁盘IO操作,因此比其他存储引擎更适合处理小型数据集。

存储限制:取决于RAM(随机存储器)

事务支持:不支持事务

Archive

1.使用场景: 在日志和数量采集的时候可以使用

2.特点:只允许插入和查询,不允许修改和删除,压缩存储,节约空间,可以实现高并发的插入,支持在自增ID上建立索引

archive表比M有ISAM表要小大约75%,比支持事务处理的InnoDB表小大约83%

不支持索引(自增ID列除外)

数据库管理

元数据库简介

元数据库是指存储关于数据库结构和元数据的数据库。它记录了数据库中的表、列、约束、视图、索引等对象的定义和属性信息。元数据是描述数据的数据,用于描述数据库中的数据定义、结构和关系。元数据库通过存储和管理元数据信息,可以提供对数据库的管理、查询和分析。

元数据库的主要作用是支持数据库的管理和开发。它可以用于数据字典的管理,即记录和维护数据库中各个对象的定义、注释和属性等信息。元数据库还可用于数据库设计和开发工具,在开发过程中可以参考和操作元数据,提高数据库开发的效率和一致性。此外,元数据库还可以用于数据分析和数据仓库的构建,通过分析元数据信息,可以揭示数据之间的关系和特征,为数据分析和决策提供支持。

元数据库分类 

1.information_schema:信息数据库,保存MySQL所维护的其他数据库信息 .例如:数据库名,数据库的表,表栏的数据类型于访问权限等

2.MySQL:核心数据库,主要负责存储数据库用户,权限设置,关键字等.MySQL自己需要使用的控制和信息管理.

3.performance_schema:用于MySQL的监控数据的存放

相关操作

数据库的增删改查及使用 

1.use数据库名

2.create database  if not exists 数据库名 degaut charset utf8 collate utf8_general_ci;

3.show database

3.drop database 数据库名

 MySQL库

权限相关的表

1.user表(用户层权限)

权限:his oa 物流

2.db表(数据库层权限)

权限:患者记录表, 门诊卡表,看病流程表

3.tables_priv表(表层权限)

权限:增加,删除,修改,查询,创表,删除表

4.columns_priv表(字段层权限)

权限:患者id,患者姓名,患者年龄

 数据表管理

三大范式

  1. 第一范式(1NF): 确保每列都包含原子性数据,不可再分。每行都有唯一标识(主键)。

  2. 第二范式(2NF): 确保表符合1NF,所有非主键列完全依赖于主键,避免部分依赖。

  3. 第三范式(3NF): 确保表符合2NF,非主键列之间不存在传递依赖,消除冗余,提高数据一致性。

基本数据类型

优化原则

  1. 选择最小存储类型: 选择能够满足需求的最小数据类型,以节省存储空间。例如,使用INT而不是BIGINT,除非需要更大范围的数值。

  2. 避免不必要的精度: 选择适当的数值类型,不要过度精确。例如,如果只需要整数,就不需要使用浮点数。

  3. 选择合适的字符类型: 对于存储文本,选择适当长度的字符类型,避免使用过长的VARCHAR

  4. 日期和时间类型的选择: 使用适当的日期和时间类型,避免使用过于复杂或不必要的类型。

  5. 避免使用过多的NULL: NULL值需要额外的存储空间,尽量设计表结构时避免过多的NULL,使用默认值或其他方法替代。

  6. 考虑性能和查询效率: 在选择数据类型时,也要考虑数据库引擎的性能和查询效率,有时使用合适的数据类型可以提高数据库操作的速度。

整形

1.tinyint8位(-128-127)

2.smallint 16位(-32768-32767)

3.mediumint24位(-8388608-8388607)

4.int 32位 大约正负21亿

5.bigint 64位

实数

float 4个字节

double 8个字节

decimal 最多允许65个字节

字符串 

1.char:定长,MySQL根据定义字符串长度一次分配足够的空间

通用场景:较短的字符串,且所有值接近同一长度

2.varchar:比定长类型节约空间

通用场景:字符串的最长长度比评估长度大很多,列的更新比较少

缺点:频繁修改,且字符串的长度变化大时,可能出现页分裂

text&blob

1.text存储字符数据:tinytext, smalltext,mediumtext,text,longtext

2.blob存储二进制数据:tinyblob,smallblob,mediumtext,text, longblod

日期类型 

datetime:精度:秒

与时区无关,8个字节存储空间

范围:1001-9999年 

timestamp:保存1970年1月1日午夜以来的秒数

占用4个字节存储空间

范围:1970-2038

与时区有关

默认为NOT NULL

通常尽量使用timestamp 

精度:秒

 data:yyyy-mm-dd

time:hh.mm.ss 

选中标识符

用来进行关联操作

在其他表中做为外键

整型通常是标识列的最好选则

相关的表中使用时间的数据类型 

尽量避免字符串作为标识列,尤其是随机生成的字符串

数据库账号管理 

查询用户

SELECT*FROM USER

 

查看常用的用户信息

select host user from user 

权限操作

设置权限 

1.授予特定数据库的所有表的SELECT权限

GRANT SELECT ON database_name.* TO 'username'@'hostname';

2.授予特定数据库的所有表的SELECT和INSERT权限

GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';

3.授予特定表的SELECT和INSERT权限

GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'hostname';

4.授予所有数据库的所有表的SELECT、INSERT和UPDATE权限

GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname';

5.撤销特定数据库的所有表的SELECT权限

REVOKE SELECT ON database_name.* FROM 'username'@'hostname';

6.撤销特定表的SELECT和INSERT权限

REVOKE SELECT, INSERT ON database_name.table_name FROM 'username'@'hostname';

7.授予登录和刷新权限

GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname' WITH GRANT OPTION;

8.限制特定IP地址的访问

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'specific_ip_address';

9.授予所有数据库的所有表的权限,并设置密码

GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname' IDENTIFIED BY 'password';

10.更改已存在的用户的密码

ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';

思维导图

相关文章:

MySQL之四大引擎、账号管理以及建库

目录 数据库存储引擎 简介 存储引擎得查看 support字段说明 InnoDB MyISAM MEMORY Archive 数据库管理 元数据库简介 元数据库分类 相关操作 MySQL库 数据表管理 三大范式 基本数据类型 优化原则 整形 实数 字符串 text&blob 日期类型 选中标识符 数…...

shell编程——查找局域网内存活主机

题目要求:写一个shell脚本,探测局域网内存活主机 首先,我们的思路是在循环中不断ping主机,然后根据ping的结果来判断主机是否存活 本题中ping语句如下: ping -c 3 -i 0.3 -W 1 192.168.1.1 解释一下参数&#xff1…...

python django 个人记账管理系统

python django 个人记账管理系统。 功能:登录,新用户注册,个人信息修改,收入,支出记录,收入记账管理,支出记账管理,收入,支出统计 技术:python django&…...

C#的Char 结构的方法之IsLetterOrDigit()

目录 一、Char 结构 二、Char.IsLetterOrDigit 方法 1.定义 2.重载 3.示例 4.IsLetterOrDigit(Char) 5.IsLetterOrDigit(String, Int32) 一、Char 结构方法 CompareTo(Char)将此实例与指定的 Char 对象进行比较,并指示此实例在排序顺序中是位于指定的 Char …...

配置Docker私有仓库

# 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容: "insecure-registries":["http://自己服务器的ip地址:设置的端口号"] # 重加载 systemctl daemon-reload # 重启docker systemctl restart docker在自己设定的文件夹内使用DockerCo…...

计算机网络-动态路由

网络层协议:ip,ospf,rip,icmp共同组成网络层体系 ospf用于自治系统内部。 一个路由器或者网关需要能够支持多个不同的路由协议,以适应不同的网络环境。特别是在连接不同自治系统的边缘路由器或边界网关的情况下&#…...

光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行

1月3日,第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾盛大举行,本次比赛吸引了全国范围内的光伏行业顶尖人才和创新团队参与。 为深入贯彻《关于推动能源电子产业发展的指导意见》,推动我国能源电子产业升级,工业和信息化部…...

【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)

文章目录 1、简介1.1 TF1.2 IDF1.3 TF-IDF2.1 TF-IDF(sklearn)2.2 TF-IDF(nltk)2.3 TF-IDF(Jieba)2.4 TF-IDF(python) 结语 1、简介 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Fr…...

.cer格式证书文件和 .pfx格式证书文件有什么区别?

这里我们将讨论.cer和.pfx文件类型之间的差异。 什么是数字证书? 数字证书在电子通信中用作验证身份的密码机制。我们需要这些证书来建立安全的在线通信渠道,并确保数字数据的隐私、真实性和正确性。 数字证书包括主题(实体详细信息&#xf…...

【docker实战】安装tomcat并连接mysql数据库

本节用docker来安装tomcat,并用这个tomcat连接我们上一节安装好的mysql数据库 一、拉取镜像 我们安装8.5.69版本 先搜索一下 [rootlocalhost ~]# docker search tomcat NAME DESCRIPTION …...

LeetCode 每日一题 Day 32 ||递归单调栈

2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…...

【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案

问题:【mars3d】官网的贴模型示例中,参考api文档增加了circle的配置,但是FixedRoute的circle没有跟polyline贴着模型 circle: { radius: 10, materialType: mars3d.MaterialType.CircleWave, materialOptions: { color: "#ffff00"…...

Day7 vitest 之 vitest配置第三版

项目目录 runner Type: VitestRunnerConstructor Default: node, 当运行test的时候 benchmark,当运行bench测试的时候 功能 自定义测试运行程序的路径。 要求 应与自定义库运行程序一起使用。 如果您只是运行测试,则可能不需要这个。它主要由library作者使用 …...

git补充上次提交

1.首先&#xff0c;确保你还没有执行 git push 操作。如果尚未推送到远程仓库&#xff0c;那么可以在本地进行修正。 2.添加遗漏的文件&#xff1a; git add <遗漏的文件路径>3.提交新修改或新增的文件&#xff0c;并将它与上一次提交合并&#xff08;如果希望保持提交历…...

计算机网络名词解释

1.ICMP 网际控制报文 允许主机或路由器报告差错情况和提供有关异常情况的报告 2.RIP路由信息协议 是一种分布式的&#xff0c;基于距离向量的路由选择协议 3.BGP 外部网关协议 是不同自治系统的路由器之间交换路由信息的协议 4.IGMP 网际管理协议 使用多播路由器知道多播…...

flink table view datastream互转

case class outer(f1:String,f2:Inner) case class outerV1(f1:String,f2:Inner,f3:Int) case class Inner(f3:String,f4:Int) 测试代码 package com.yy.table.convertimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironment import org.apache.flink.tabl…...

redis重启后数据丢失问题解决(亲测好用)

redis修改密码重启后发现redis中的数据丢失了 解决办法&#xff1a; 首先在redis的安装目录下查找重启之前的dump.rdb文件&#xff0c;发现只有当天的一个dump.rdb文件&#xff0c;确认不是重启备份的文件 然后我就全盘找一下dump.rdb的备份文件&#xff0c;找到前一天的备份…...

敬请期待……

敬请期待…… 《Python百宝箱》 序号文章目录直达链接表白系列1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/1347448942满屏飘字表白代码https://want595.blog.csdn.net/article/details/1350373883无限弹窗表白代码...

3.10 Android eBPF HelloWorld调试(四)

一,读取eBPF map的android应用程序示例 1.1 C++源码及源码解读 /system/memory/bpfmapparsed/hello_world_map_parser.cpp //基于aosp android12#define LOG_TAG "BPF_MAP_PARSER"#include <log/log.h> #include <stdlib.h> #include <unistd.h&g…...

PyTorch常用工具(1)数据处理

文章目录 前言1 数据处理1.1 Dataset1.2 DataLoader 前言 在训练神经网络的过程中需要用到很多的工具&#xff0c;最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块&#xff0c;合理使用这些工具可以极大地提高编程效率。 由于内容较多&am…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...