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,患者姓名,患者年龄
数据表管理
三大范式
第一范式(1NF): 确保每列都包含原子性数据,不可再分。每行都有唯一标识(主键)。
第二范式(2NF): 确保表符合1NF,所有非主键列完全依赖于主键,避免部分依赖。
第三范式(3NF): 确保表符合2NF,非主键列之间不存在传递依赖,消除冗余,提高数据一致性。
基本数据类型
优化原则
选择最小存储类型: 选择能够满足需求的最小数据类型,以节省存储空间。例如,使用
INT
而不是BIGINT
,除非需要更大范围的数值。避免不必要的精度: 选择适当的数值类型,不要过度精确。例如,如果只需要整数,就不需要使用浮点数。
选择合适的字符类型: 对于存储文本,选择适当长度的字符类型,避免使用过长的
VARCHAR
。日期和时间类型的选择: 使用适当的日期和时间类型,避免使用过于复杂或不必要的类型。
避免使用过多的NULL: NULL值需要额外的存储空间,尽量设计表结构时避免过多的NULL,使用默认值或其他方法替代。
考虑性能和查询效率: 在选择数据类型时,也要考虑数据库引擎的性能和查询效率,有时使用合适的数据类型可以提高数据库操作的速度。
整形
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 解释一下参数࿱…...
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文件类型之间的差异。 什么是数字证书? 数字证书在电子通信中用作验证身份的密码机制。我们需要这些证书来建立安全的在线通信渠道,并确保数字数据的隐私、真实性和正确性。 数字证书包括主题(实体详细信息…...
【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.首先,确保你还没有执行 git push 操作。如果尚未推送到远程仓库,那么可以在本地进行修正。 2.添加遗漏的文件: git add <遗漏的文件路径>3.提交新修改或新增的文件,并将它与上一次提交合并(如果希望保持提交历…...
计算机网络名词解释
1.ICMP 网际控制报文 允许主机或路由器报告差错情况和提供有关异常情况的报告 2.RIP路由信息协议 是一种分布式的,基于距离向量的路由选择协议 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中的数据丢失了 解决办法: 首先在redis的安装目录下查找重启之前的dump.rdb文件,发现只有当天的一个dump.rdb文件,确认不是重启备份的文件 然后我就全盘找一下dump.rdb的备份文件,找到前一天的备份…...
敬请期待……
敬请期待…… 《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 前言 在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。 由于内容较多&am…...
docker-简单说说cgroup
前面我们简单说了下namespace, 现在我们来接着简单说说cgroup。通过docker-简单说说namespace文章我们知道: namespace 是为了隔离进程组之间的资源,那cgroup就是为了对进程组的监控和限制资源。Cgroup 可以限制进程组使用的资源数量和分配&a…...
印象笔记04: 如何将印象笔记超级会员价值最大化利用?
印象笔记04: 如何将印象笔记超级会员价值最大化利用? 为什么有这个问题 我不知道有没有人一开始接触印象笔记觉得非常好。奈何只能两个设备同步,局限太多。而会员活动比较优惠——就开了会员。而且我开了十年……。只能开发一下看看怎么最大…...
我的JDK动态代理流程
我的JDK动态代理流程 我梳理的动态代理流程大约是: 如果每一个框架都有自己的BPP,且自己的BPP中都有自己的wrapIfNecessory,那样可能就是一个BPP一个代理类。但通常应该都是各自的框架以提供 Advisior(切面)的方式&am…...
uniapp Vue3 面包屑导航 带动态样式
上干货 <template><view class"bei"><view class"container"><view class"indicator"></view><!-- 遍历路由列表 --><view v-for"(item, index) in routes" :key"index" :class&quo…...
openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作
文章目录 openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作174.1 事务隔离说明174.2 写入和读写操作174.3 并发写入事务的潜在死锁情况 openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作 174.1 事务隔离说…...
数据分析可被划分为4个重要的类别
1、描述型:发生了什么? 全面、准确、实时的数据有效的可视化 2、诊断型:为什么会发生? 能够深入了解问题的根本原因隔离所有混淆信息的能力 3、预测型:可能发生什么? 通过历史数据来预测特定的结果通过…...
爆火小游戏敲木鱼流量主小程序源码系统+完整的代码包以及安装搭建教程
随着移动互联网的快速发展,小程序已成为一种新的应用形态,深入到人们生活的方方面面。其中,小游戏由于其简单、有趣的特点,吸引了大量用户,也成为了许多开发者的首选。敲木鱼小游戏,以其独特的玩法和轻松的…...
Invoke和BeginInvoke的区别
Invoke和BeginInvoke的区别 本文导读:BeginInvoke() 调用时,当前线程会启用线程池中的某个线程来执行此方法,当前线程不被阻塞,继续运行后面的代码, Invoke() 调用时,会阻塞当前线程,等到 Invo…...
3 分钟为英语学习神器 Anki 部署一个专属同步服务器
Anki 介绍 Anki 是一款基于间隔重复(Spaced Repetition)原理的学习软件,想象一下,你的大脑就像是一个需要定期维护的精密仪器。间隔重复就好比是一种精准的维护计划,它通过在最佳时刻复习信息,来确保知识在…...
<HarmonyOS第一课>应用程序框架
【习题】应用程序框架 目录 判断题 单选题 多选题 判断题 1. 一个应用只能有一个UIAbility。错误 正确(True)错误(False) 2. 创建的Empty Ability模板工程,初始会生成一个UIAbility文件。正确 正确(True)错误(False) 3. 每调用一次router.pushUrl()方法&…...
怎么用ps做网站banner/百度邮箱注册入口
PHP计算当前时间之后(之前)的时间PHP中有一个非常厉害的函数,strtotime()函数,这个函数有一个异常厉害的使用方法,手册上说的有,但是估计在实际应用中能够想到的人不多。我为了计算出当前时间N天后的日期时,也是自己写…...
南通个人网站制作/网络营销环境宏观微观分析
周数 专业学习目标 专业学习时间 新增代码数量 博客发表量 人文方面的学习 知识技能总结 6 栈、链栈、栈队,网页设计表格 30小时 103 2 《世界是数字的》 栈的输入是从栈顶开始;网页表格的设置可以通过代码更快的建成。 转载于:https://www…...
延吉网站建设公司/萧山seo
前言: 本文是前一片文章《深入浅出之正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并…...
刘涛做的婴儿玩具网站/线下推广怎么做
为什么80%的码农都做不了架构师?>>> MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示ÿ…...
用vs2012做网站首页/站长工具忘忧草
iOS 10正式版定于9月13日推送,目前GM版已经可以下载。现在,苹果正式关闭了iOS 9.3.4的认证,这意味着iOS 9.3.5将不能再降级。目前iOS 9.3.4并不能越狱(需9.3.3以下),而且存在所谓iOS史上最大的一个远程执行…...
台湾做网站/百度指数在线查询
转载于:https://www.cnblogs.com/zhaoqingqing/p/3407390.html...