初始MySQL(七)(MySQL表类型和存储引擎,MySQL视图,MySQL用户管理)

目录

MySQL表类型和存储引擎

MyISAM 

MEMORY

MySQL视图

我们先说说视图的是啥?

视图的一些使用细节

MySQL用户管理

原因

常见操作


MySQL表类型和存储引擎

-- 查看所有的存储引擎
SHOW ENGINES

我们常见的表有MyISAM  InnoDB  MEMORY

1.MyISAM不支持事务,也不支持外键,但其访问速度快,对事务完整性没有要求

2.InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全,但是比起MyISAM存储引擎,InnoDB写的效率差一些,并且占用更多的磁盘空间以保存数据和索引

3.MEMORY存储引擎使用存在内存中的内容来创建表,每个MEMORY表只实际对应一个磁盘文件,MEMORY类型的表访问非常快,因为它的数据存在内存中的,并且默认使用hash索引,但是一旦MySQL服务关闭,表中的数据会丢失掉,但是表的结构还在

MyISAM 

MEMORY

当我关闭MySQL服务后,重新启动mysql

我再来看里面的数据

but

修改存储引擎

-- 指令修改存储引擎
ALTER TABLE `t29` ENGINE = INNODB

MySQL视图

我们先说说视图的是啥?

我就用我在初始MySQL(四)中写的数据表了,想实操练习的,可以去找到数据表

SELECT * FROM emp 我先执行这个指令看看我们的数据

假如说我不想让使用者看见我用红线框起来的

这应该怎么办呢? 就用到了我们的视图

我们将empno,ename,job,deptno来建立一个视图,视图里面就是存放的这几列的数据,这几列数据也是从emp表中拷贝过来的

CREATE VIEW emp_view01 AS SELECT empno,ename,job,deptno FROM emp;

我们执行上面的代码,然后查看我们的建立的视图emp_view01

视图的一些使用细节

1.一些常见的视图操作指令

-- 视图的使用
-- 创建一个视图emp_view01,只能查询emp 表的(empno,ename,job和deptno)
CREATE VIEW emp_view01 AS SELECT empno,ename,job,deptno FROM emp;-- 查看视图表结构
DESC emp_view01-- 查看视图
SELECT * FROM emp_view01;
SELECT empno,job FROM emp_view01;-- 查看创建视图的指令
SHOW CREATE VIEW emp_view01;-- 删除视图
DROP VIEW emp_view01;

2.创建视图后,到数据库去看,对应视图只有一个视图结构文件(形式:视图名.frm)

我们可以从图中看见我们建立的视图只有frm文件,没有对应的数据文件,要是查看数据的话,是直接到emp表中查看数据

3.视图的结构变化会影响到基表,基表的数据变化也会影响到视图

我把代码放着,你们自己尝试看看

-- 改变视图
UPDATE emp_view01 SET job='牛逼克拉斯' WHERE empno = 7369;
-- 查看基表
SELECT * FROM emp;-- 改变基表
UPDATE emp_view01 SET job='MANAGER' WHERE empno = 7369;
-- 查看视图
SELECT * FROM emp_view01;

4.视图中还可以再使用视图,如果说我在emp_view01视图上再创建一个emp_view02的视图也是可以的,但是视图emp_view01一旦销毁,emp_view02也就不能使用了

MySQL用户管理

原因

当我们在做项目开发时,可以根据不同的开发人员,赋给他相应的MySQL操作权限,所以mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用

不同的数据库用户,登录到数据库后,根据权限,可以操作的数据库和数据对象(表,视图,触发器)不一样

一般用户的信息存放在mysql中的user表中

常见操作

-- 1.创建新的用户
-- (1)'lhq_nb'@'localhost'表示用户的完整信息,'lhq_nb'用户名 'localhost'是登陆ip
-- (2)123456 密码 ,但是注意,存放在 mysql.user表时,password('123456')是加密后的
CREATE USER 'lhq_nb'@'localhost' IDENTIFIED BY '123456'SELECT `host`,`user`,authentication_string FROM mysql.user-- 2.删除用户
DROP USER 'lhq_nb'@'localhost'-- 3.登录-- 4.修改密码
-- 修改自己密码SET PASSWORD = PASSWORD('lhq')-- 修改其他人的密码需要权限
-- 这个没有权限就不能执行
-- root权限很大,可以修改其他人的密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456') 

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

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

相关文章

pytorch 安装 2023年

pytorch网址:https://pytorch.org/get-started/locally/ conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia我在自己电脑上用这个pip命令完全安装不了,只能用conda安装。复制上面提供的命令,在cmd中直接运…

VIM去掉utf-8 bom头

Windows系统的txt文件在使用utf-8编码保存时会默认在文件开头插入三个不可见的字符(0xEF 0xBB 0xBF)称为BOM头 BOM头文件 0.加上BOM标记: :set bomb 1.查询当前UTF-8编码的文件是否有BOM标记: :set bomb? :set bomb? 2.BOM头:文…

使用Python的requests库模拟爬取地图商铺信息

目录 引言 一、了解目标网站 二、安装requests库 三、发送GET请求 四、解析响应内容 五、处理异常和数据清洗 六、数据存储和分析 七、数据分析和可视化 八、注意事项和最佳实践 总结 引言 随着互联网的快速发展,网络爬虫技术已经成为获取数据的重要手段…

交换排序详讲:冒泡排序+快速排序(多方法+思路+图解+代码)

文章目录 交换排序一.冒泡排序二.快速排序1.挖坑法2.Hoare法 交换排序 根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 一.冒泡排序 /*** 冒泡排序* 时间复杂度 n^2* 空间复杂…

常见面试题-HashMap源码

了解 HashMap 源码吗? 参考文章:https://juejin.cn/post/6844903682664824845 https://blog.51cto.com/u_15344989/3655921 以下均为 jdk1.8 的 HashMap 讲解 首先,HashMap 的底层结构了解吗? 底层结构为:数组 链…

redis常见问题及解决方案

缓存预热 定义 缓存预热是一种优化方案,它可以提高用户的使用体验。 缓存预热是指在系统启动的时候,先把查询结果预存到缓存中,以便用户后面查询时可以直接从缓存中读取,节省用户等待时间 实现思路 把需要缓存的方法写在初始化方…

【MySQL】聚合函数:汇总、分组数据

文章目录 学习目标MAX()、MIN()、AVG()、SUM()、COUNT()COUNT(*) 得到所有记录条目DISTINCT去重练习1(使用UNION , SUM, BETEEN AND)GROUP BY子句练习2(使用sum,group by, join on, …

S25FL256S介绍及FPGA实现思路

本文介绍 S25FL256S 这款 FLASH 芯片,并进行 FPGA 读写控制的实现(编程思路及注意事项)。 文章目录 S25FL-S 介绍管脚功能说明SPI 时钟模式SDRDDR 工作模式FLASH存储阵列(地址空间映射)常用寄存器及相关指令Status Reg…

Stable Diffusion WebUI使用AnimateDiff插件生成动画

AnimateDiff 可以针对各个模型生成的图片,一键生成对应的动图。 配置要求 GPU显存建议12G以上,在xformers或者sdp优化下显存要求至少6G以上。 要开启sdp优化,在启动参数加上--sdp-no-mem-attention 实际的显存使用量取决于图像大小&#…

毫米波雷达模块的目标检测与跟踪

毫米波雷达技术在目标检测与跟踪方面具有独特的优势,其高精度、不受光照影响等特点使其在汽车、军事、工业等领域广泛应用。本文深入探讨毫米波雷达模块在目标检测与跟踪方面的研究现状、关键技术以及未来发展方向。 随着科技的不断进步,毫米波雷达技术在…

Nginx 修改server_name后无法访问

问题: 在nginx.conf配置中, server_name 为 localhost 时可以正常访问,但改成自定义的域名后无法访问 解决方法: - Window系统 修改本地hosts文件,一般路径在:C:\Windows\System32\drivers\etc\hosts 在文件最后…

目标检测—YOLO系列(二 ) 全面解读论文与复现代码YOLOv1 PyTorch

精读论文 前言 从这篇开始,我们将进入YOLO的学习。YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍。 本文主要介绍的是YOLOV1,这是由以Joseph Redmon为首的…

Nginx配置开启HTTPS

获取证书文件 Nginx 开启SSL server {listen 443 default ssl;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;proxy_set_header Host $host;ssl_certificate /usr/local/nginx/cert/server.pem;ssl_certificate_key /usr/local/ngin…

京东推出数据平台云海 API接口将达700个

1月16日消息,继上周面对企业用户发布京东电商云解决方案后,日前,京东云平台又发布了全新的数据开放平台——“云海”,以开放商家、商品、点击流等相关数据。 在京东主办,思路网协办的京东开放云服务合作伙伴2014峰会&…

[CSS] 文本折行

文本折行一般分为两种情况: CJK(Chinese/Japanese/Korean) 字符和非 CJK 字符。一般非 CJK 字符折行发生在两个单词的空格中间,见下图: 图中文本 “hello world” 包裹容器的宽度为 2rem,但是 hello 并没有…

JavaWeb[总结]

文章目录 一、Tomcat1. BS 与 CS 开发介绍1.1 BS 开发1.2 CS 开发 2. 浏览器访问 web 服务过程详解(面试题)2.1 回到前面的 JavaWeb 开发技术栈图2.2 浏览器访问 web 服务器文件的 UML时序图(过程) ! 二、动态 WEB 开发核心-Servlet1. 为什么会出现 Servlet2. 什么是…

微服务学习 | Eureka注册中心

微服务远程调用 在order-service的OrderApplication中注册RestTemplate 在查询订单信息时,需要同时返回订单用户的信息,但是由于微服务的关系,用户信息需要在用户的微服务中去查询,故需要用到上面的RestTemplate来让订单的这个微…

Linux网络之传输层协议tcp/udp

文章目录 目录 一、再谈端口号 1.端口号划分 2.知名端口号 3.netstat,pidof 二、UDP协议 1.udp协议格式 2.udp特点 3.基于udp的应用层协议 三、TCP协议 1.tcp报头 确认应答机制(ACK) 超时重传机制 连接管理机制(三次握手四次挥…

前端案例-css实现ul中对li进行换行

场景描述: 我想要实现,在展示的item个数少于4个的时候,则排成一行,并且均分(比如说有3个,则每个的宽度为33.3%),如果item 个数大于4,则进行换行。 效果如下&#xff1a…

【VSCode】配置C/C++开发环境教程(Windows系统)

下载和配置MinGW编译器 首先,我们需要下载并配置MinGW编译器。 下载MinGW编译器,并将其放置在一个不含空格和中文字符的目录下。 配置环境变量PATH 打开控制面板。可以通过在Windows搜索栏中输入"控制面板"来找到它。 在控制面板中&#xf…