安全性: 有两个选项 Definer:定义者 , 定义者有什么权限 ,访问视图的人就有什么权限 Invoker: 调用者  ,根据调用这个视图的当前用户来决定 有什么权限 采坑: 项目中有个复杂查询.1050 多行格式化后的视图sql.创建视图默认的安全性是 Definer ,也就是定义者有什么权限,访问者就有什么权限,结果上生成的时运维,使用了另一个 没有读视图权限的账号导入了视图(或者说导入以后这个导入账号的读视图权限被回收了),然后生产的 账号可以 读写表,但是无法 读取视图. 上图的异常…
@ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 基本语法 查询视图 MySQL查看视图 查看视图的字段信息 查看视图的详细信息 MySQL修改视图 基本语法 修改视图内容 MySQL删除视图 基本语法 索引是什么 为什么要使用索引 顺序访问 索引访问 索引的优缺点 优点 缺点 MySQL索引类型详解 存储方式区分 B-树索引 哈希索引 逻辑区分…
视图是表表达式的一种,所以它也是虚拟表.对视图操作的时候会通过语句动态的从表中临时获取数据. 1.创建.修改视图 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW [IF NOT EXISTS] view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] ALTER [ALGORITHM = {U…
MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订单数据,这样合理么? 给uid添加外键约束之后,uid就是外键列 如果与另外的一张表的主键有关联关系,那么这一列就是外键列 建表语句 -- 创建db2数据库CREATE DATABASE db2;-- 使用db2数据库USE db2;​-- 创建user用户表CREATE TABLE USER( i…
MySql表.约束.视图 索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表成为索引组织表(index organized table). 每张表都有主键,如果创建表的时候没设置主键,会采取以下方式: 1.     是否有非空唯一索引,如果有,选为主键 2.     如果没有非空唯一索引,则InnoDB存储引擎自动创建一个6字节的指针 在1的情况下主键的选择是根据定义索引的顺序,而不是建表时列的顺序选主键. Create table student( stu_i…
1.表的操作 现在创建表的工作大部分还是使用数据库管理工具来完成的,虽然其本质也是使用的SQL,但是方便许多.现在就来简单谈谈使用SQL语句操作表. 1.1 创建表  创建表的基本语句是(如果仅想在一个表不存在时创建它,则在表名后给出关键字 IF NOT EXISTS 即可): CREATE TABLE R ( A1<数据类型>, A1<数据类型>, ... An<数据类型> ); 6   1 CREATE TABLE R ( 2 A1<数据类型>, 3 A…
SQL语句不区分大小写 创建数据库 create database myData 删除数据库 drop database myData 创建表 create table company ( code ) PRIMARY KEY, name ) NOT NULL ); create table mybook( id int auto_increment primary key, bookId ), bookName ), bookType ), companyNo ), foreign key (…
1.视图是数据库数据的特定子集.可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据,这种方法可以保护用户和应用程序不受某些数据库修改的影响. 2.视图是抽象的,他在使用时,从表里提取出数据,形成虚的表. 不过对他的操作有很多的限制 . 3. 而且视图是永远不会自己消失的除非你删除它. 4.视图有时会对提高效率有帮助.临时表几乎是不会对性能有帮助,是资源消耗者. 5.视图一般随该数据库存放在一起,临时表永远都是在tempdb里的. 6.视图适合于多表连接浏览时使用!不适合增.删.改.,存…
目录 一.存储引擎 1.什么是存储引擎? 2.mysql支持的存储引擎 3. 使用存储引擎 二.事务 三.视图 1.什么是视图 2.为什么要用视图 3.如何用视图 四.触发器 为何要用触发器 创建触发器语法 五.存储过程 六.函数 七.流程控制 八.数据库备份(运维方向) 一.存储引擎 1.什么是存储引擎? mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用exce…
1.初识数据库 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个 专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题, 总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写. 数据(Data):描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数…