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

news2024/11/17 16:34:12

一.数据库存储引擎

1.1存储引擎的查看

 1.2InnoDB

1.3MyISAM

 1.4 MEMORY

1.5 Archive

二.数据库管理

 2.1元数据库简介

2.2元数据库分类

2.3 相关操作

 2.4 MySQL库

三.数据表管理

 3.1三大范式

3.2 基本数据类型

3.2.1优化原则

3.3 整形

 3.4 实数

 3.5 字符串

3.6 text&blob

3.7 日期类型

3.8 选中标识符

四.数据库账号管理 

4.1 查询用户

 4.2查看常用的用户信息

4.3 权限操作

4.3.1设置权限

 

五.思维导图

 ​编辑


一.数据库存储引擎

数据库存储引擎是数据库底层的组件,是数据库的核心,可以创建、查询、更新、删除数据库。不同的存储引擎提供的存储方式、索引机制等不同,如MySQL的存储引擎支持多种不同的存储引擎,如MyISAM、InnoDB、CSV等 。

1.1存储引擎的查看

  命令:SHOW ENGINES

 

 support字段说明

1.default为默认引擎

2.YES则可以使用

3.NO则不可以使用

 1.2InnoDB

1.使用场景:一般事务性,都使用该引擎,用途最广,如果不确定使用哪种引擎,则使用该引擎

2.特点:修改快,支持事务

存储限制:64GB

事务支持:支持事务

1.3MyISAM

1.使用场景:大量查询,很少修改的场景

2.特点: 强调了快速读取的操作

存储限制:256GB

事务支持:不支持事务

 1.4 MEMORY

1.使用场景:由于易失性,可以用于存储在分析中产生的中间表

2.特点:所有的数据都保存在内存中,一旦服务器重启,所有memory存储引擎的表数据会消失但是表结构会保存下来

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

事务支持:不支持事务

1.5 Archive

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

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

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

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

二.数据库管理

 2.1元数据库简介

记录Mysql自身数据的数据库

2.2元数据库分类

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

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

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

2.3 相关操作

数据库的增删改查及使用

1.use数据库名

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

3.show database

3.drop database 数据库名

 2.4 MySQL库

权限相关的表

1.user表(用户层权限)

权限:his oa 物流

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

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

3.tables_priv表(表层权限)

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

4.columns_priv表(字段层权限)

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

三.数据表管理

 3.1三大范式

第一范式:列不可再分(原子性)

第二范式:主键约束

第三范式:外键约束

3.2 基本数据类型

3.2.1优化原则

1.更小通常更好:更小通常更快

更小的磁盘空间,内存,cpu花村

2.简单就好:整形比字符串操作代价更小

用的时间类型表示日期而不用字符串

3.尽量避免NULL:NULL为队列默认值,但除非确实需要,应尽量避免使用NULL

尽量指定列为NOT NULL,特别式需要建索引的列

查询中包括有NULL的类.,MySQL更难优化:不利于使用索引,,,索引统计更复制..值比较,更复杂

4.用整型值而不是字符串表示IP地址:INET_ATON()...INET_NTOA()

3.3 整形

1.tinyint8位(-128-127)

2.smallint 16位(-32768-32767)

mediumint24位(-8388608-8388607)

int 32位 大约正负21亿

bigint 64位

 3.4 实数

float 4个字节

double 8个字节

decimal 最多允许65个字节

 3.5 字符串

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

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

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

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

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

3.6 text&blob

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

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

3.7 日期类型

datetime:精度:秒

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

范围:1001-9999年 

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

占用4个字节存储空间

范围:1970-2038

与时区有关

默认为NOT NULL

通常尽量使用timestamp 

精度:秒

 data:yyyy-mm-dd

time:hh.mm.ss 

3.8 选中标识符

用来进行关联操作

在其他表中做为外键

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

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

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

四.数据库账号管理 

4.1 查询用户

SELECT*from user

 

 4.2查看常用的用户信息

select host user from user

4.3 权限操作

4.3.1设置权限

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';

 

五.思维导图

 

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

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

相关文章

13.Go 异常

1、宕机 Go语言的类型系统会在编译时捕获很多错误,但有些错误只能在运行时检查,如数组访问越界、空指针引用等,这些运行时错误会引起宕机。 一般而言,当宕机发生时,程序会中断运行,并立即执行在该gorouti…

vue和react哪种框架使用范围更广

Vue和React都是非常流行的前端JavaScript框架,它们各自有着广泛的应用场景和支持者。选择使用哪一个框架往往取决于特定的项目需求、开发团队的熟悉程度以及生态系统的偏好。以下是这两个框架的一些主要特点,以帮助比较它们的使用范围: React…

基于Springboot的服务端开发脚手架-自动生成工具

继之前的 专题系列课程: ​​从零开始搭建grpc分布式应用​​完整DEMO:​​基于Springboot的Rpc服务端开发脚手架(base-grpc-framework)​​ 后带来一款项目自动手成工具(由于包路径等原因,完整demo想应用在实际开发中需要改很多代…

git使用(完整流程)

1. 新建仓库 1.右击 git bash 后 输入 git init (仓库为:当前目录) git init name (仓库为:name文件夹) git clone https://github.com/Winnie996/calculate.git //https2.工作区域 工作目录 3. 添加 提交 git add . //工作区添加至暂存区 git commit -m "注释内容&q…

免费邮件系统hMailServer本地部署并实现远程发送邮件

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…

Python算法例32 统计数字

1. 问题描述 计算数字k在0~n中出现的次数,k可能是0~9中的一个数字。 2. 问题示例 n12,k1,在[0,1,2,3,4,5,6,7,8,9,10&a…

野生菌行业第一品牌,让世界爱上“野生菌,好宝贝”

近年来,随着人们对健康和美食的追求不断升温,野生菌作为一种珍贵的食材备受瞩目。在这个行业中,一个名为菌贝的品牌正在崭露头角。作为专注于野生菌产业和产品的领军品牌,菌贝由互联网知名人士贤哥、付颖和飘云等创始人于2018年10…

高压继电器,未来几年市场将保持稳定增长

高压继电器是一种用于控制大功率电气设备的开关装置,广泛应用于电力系统、轨道交通、工业自动化等领域。随着各行业对电气控制需求的不断增加,高压继电器市场也在不断扩大。全球高压继电器市场分析: 在全球市场中,目前主要的高压继…

MidTool图文创作-GPT-4与DALL·E 3的结合

GPT-4与DALLE 3的结合 GPT-4是由OpenAI开发的最新一代语言预测模型,它在前代模型的基础上进行了大幅度的改进,不仅在文本生成的连贯性、准确性上有了显著提升,还在理解复杂语境和执行多步骤指令方面表现出了更高的能力。而DALLE 3则是一个创…

Flutter 混合开发 - 动态下发 libflutter.so libapp.so

背景 最近在做包体积优化,在完成代码混淆、压缩,裁剪ndk支持架构,以及资源压缩(如图片转webp、mp3压缩等)后发现安装包的中占比较大的仍是 so 动态库依赖。 具体查看发现 libflutter.so 和 libapp.so 的体积是最大的&…

solidity显示以太坊美元价格

看过以太坊白皮书的都知道,以太坊比较比特币而言所提升的地方中,我认为最重要的一点就是能够访问外部的数据,这一点在赌博、金融领域应用会很广泛,但是区块链是一个确定的系统,包括里面的所有数值包括交易ID等都是确定…

pyqt6 + pycharm 搭建+使用入门

首先安装PyQt6和PyQt6-tools。使用如下命令: pip install PyQt6 PyQt6-tools 但是运行后会报如下错误: 这个时候按照提示执行命令升级pip即可 python.exe -m pip install --upgrade pip 配置pycharm: 打开pycharm,进入setting&am…

STM32 ESP8266 物联网智能温室大棚 (附源码 PCB 原理图 设计文档)

资料下载: https://download.csdn.net/download/vvoennvv/88680924 一、概述 本系统以STM32F103C8T6单片机为主控芯片,采用相关传感器构建系统硬件电路。其中使用DHT11温湿度传感器对温度和湿度的采集,MQ-7一氧化碳传感器检测CO浓度,GP2Y101…

SpringCloud微服务架构,适合接私(附源码)

一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.7 、SpringCloud 等核心技术构建,提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。 架构图 项目介绍 用户权益 仅允许免费用于学习、毕设、公司项目、私活等。…

软件测试之---测试设计方法

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

studio3T mongodb 根据查询条件去更新集合

mongodb 等于、不等于$ne、不包含 $nin 以及批量更新数据的使用。 业务场景: 在集合中,根据查询条件,更新数据状态。 实现代码: 1. 部门名称为XXX、状态不等于“完好”的、并且不包含这些编码的数据先查询出来2. 再把状态更新成…

STM32入门教程-2023版【3-2】推挽输出和开漏输出驱动问题

关注 点赞 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 二、正式点亮一个LED灯 (4)推挽输出和开漏输出驱动问题 把LED的正负极对换&…

Sharding Sphere 教程 简介

一 文档简介 1.1 分库分表诞生的前景 随着系统用户运行时间还有用户数量越来越多,整个数据库某些表的体积急剧上升,导致CRUD的时候性能严重下降,还容易造成系统假死。 这时候系统都会做一些基本的优化,比如加索引…

Linux之下载安装

rpm包管理 rpm介绍 rpm用于互联网下载包的打包及安装工具,他包含在某些linux分发版本中。他生成具有.rpm扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的steup.exe。 rpm包的查询指令 查询已经安装…

MFC综合实验二学习记录

文章目录 虚函数和纯虚函数的区别?MFC中什么是UPDATE_COMMAND_UI 消息如何查看控件对应的成员变量模态对话框的理解HGDIOBJ" 类型的值不能用于初始化 "CBrush *" 类型的实体错误MFC编程中CDC类型和HDC类型有什么区别?关于WIDING和ALTERNA…