当前位置:数据库 > > 正文

mysql高级概念(MySQL 自定义变量的概念及特点)

时间:2021-10-03 01:24:05类别:数据库

mysql高级概念

MySQL 自定义变量的概念及特点

MySQL 的自定义 就是存储值的临时容器,只要与服务端的连接是活跃的,容器中的值可以保存和使用。可以通过简单的 SET 或 SELECT语句 设置自定义变量,如下所示:

  • ?
  • 1
  • 2
  • 3
  • SET @one := 1;
  • SET @min_actor := (SELECT MIN(actor_id) FROM sakila.actor);
  • SET @last_week := CURRENT_DATE-INTERNAL 1 WEEK;
  • 定义好变量后,就可以在 SQL 语句中使用这个变量:

  • ?
  • 1
  • SELECT * FROM film WHERE created_date <= @last_week;
  • 虽然 MySQL 自定义变量很强大,但是也需要知道自定义变量本身也是有缺陷的,这些缺陷包括:

    自定义变量可以用在所有类型的语句中,而不仅仅是 SELECT 语句。事实上,这是自定义变量的一个最大的优势。例如,我们可以重写复杂的查询,例如利用子查询进行排序的计算,或者是完成一次低代价的UPDATE 语句。

    有些时候,优化器会认为这个变量是编译时常量而不进行赋值,这会导致期望的行为很怪异。而将自定义变量的赋值放入类似 LEAST函数中通常会避免这个问题。另一个方式是在使用之前检查一下自定义变量是否有值。有时候你想这样做,但有些时候你不想这么做。

    通过一些小的实验,我们可以使用自定义变量做很多有趣的事情,例如:

    自定义变量在某些应用场合很有用,例如统计出现次数的排序值,计算更新和插入相同数据的次数,以及延迟的联合查询,下一篇文章将介绍具体的用法。

    以上就是MySQL 的自定义变量的概念及特点的详细内容,更多关于MySQL 自定义变量的资料请关注开心学习网其它相关文章!

    原文链接:https://juejin.cn/post/6961399545511018510

    上一篇下一篇

    猜您喜欢

    热门推荐