首页 > 数据库 >mysql创建视图注意事项

mysql创建视图注意事项

时间:2023-02-02 18:13:49浏览次数:44  
标签:语句 UNDEFINED mysql 视图 注意事项 root DEFINER

转自:https://www.cnblogs.com/cctvyuzhou/p/8985582.html

可以使用 CREATE VIEW 语句来创建视图

语法格式如下:

CREATE VIEW <视图名> AS <SELECT语句>

语法说明如下。

1、视图名:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。

2、select语句:指定创建视图的SELECT语句,可用于查询多个基础表或源视图。

可以通过以下语句创建视图

CREATE ALGORITHM = UNDEFINED 
DEFINER = `xx`@`localhost` 
SQL SECURITY DEFINER 
VIEW `xxxx` AS 

1、ALGORITHM=UNDEFINED:指定视图的处理算法;

ALGORITHM可取三个值:MERGE、TEMPTABLE或UNDEFINED。如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的)。算法会影响mysql处理视图的方式。

对于MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分(视图定义和select 结合在一起了,执行会快)。

对于TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。

对于UNDEFINED,mysql自己选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。

2、DEFINER=root@localhost:指定视图创建者;

'root'@'localhost'是root用户以本机连接,'root'@'%'是root用户允许任何ip的连接。

3、SQL SECURITY DEFINER:指定视图查询数据时的安全验证方式;

DEFINER表示按定义者拥有的权限来执行

INVOKER表示用调用者的权限来执行。默认情况下,系统指定为DEFINER

标签:语句,UNDEFINED,mysql,视图,注意事项,root,DEFINER
From: https://www.cnblogs.com/cacti/p/17086905.html

相关文章

  • python mysql直接导出excel文件
    importpymysqlimportxlwt#数据库连接对象conn=pymysql.connect(host='124.71.72.144',port=3306,user='root',password="gClUjjCh2tozZY23o",db="pay",chars......
  • 【推荐】MySQL数据库设计SQL规范
    1命名规范1、【强制】库名、表名、字段名必须使用小写字母并采用下划线分割,禁止拼音英文混用;(禁用-,-相当于运算符)2、【建议】库名、表名、字段名在满足业务需求的条件下使用......
  • 安装MySQL
    1.登录https://dev.mysql.com/downloads/2.下载MySQLInstallerforWindows3.安装MySQLInstallerforWindows4.启动MySQL服务5.验证:打开MySQL8.0CommandLineC......
  • MySQL Consistent Nonlocking Reads
    一致性读一致性读意味着InnoDB使用多版本技术在某个时间点使用该时间点的快照进行一致性读;默认可重复读隔离级别,当前事务只能看到在当下时间点之前提交事务产生的变化,时间......
  • 【推荐】MySQL数据库设计SQL规范
    1命名规范1、【强制】库名、表名、字段名必须使用小写字母并采用下划线分割,禁止拼音英文混用;(禁用-,-相当于运算符)2、【建议】库名、表名、字段名在满足业务需求的条件下......
  • 函数视图-类视图-mixins视图-通用视图-视图集
    1.函数视图@api_view(['get','post'])defstudent_list_or_create(request,format=None):"""学生列表,学生创建视图:paramrequest::return:"......
  • [mysql]定制封装MySQL的docker镜像
    前言基于MySQL的原版镜像做一些个性化配置修改,封装/etc/my.cnf文件到镜像中,并且支持通过环境变量修改innodb_buffer_pool_size、server_id以及自动配置innodb_read_io_thr......
  • 【达梦数据库】MySQL 的ON DUPLICATE KEY UPDATE语句在达梦数据库中使用的方式
    背景想要做数据同步,但不知道待同步的数据是新增或更新于是想,如果数据库可以识别InsertOrUpdate就好了使用的是达梦数据库but:1、达梦是没有ONDUPLICATEKEYUPDAT......
  • Otter实现mysql数据库指定多个表实时单向同步
    背景生产库接入太多应用程序,现需要搭建从库用于测试并数据分析,由于并发量大,mysql自带的主从同步存在瓶颈,主从同步延迟增大,因此通过otter的方案实现主从同步。计划192.16......
  • MySQL优化六,锁
    一,MySQL中的锁InnoDB中锁非常多,总的来说,可以如下分类:     这些锁都是做什么的?具体含义是什么?我们现在来一一学习。1.2,解决并发事务问题我们已经知道事......