mysql - 保存命令以便以后在 MySQL 中重复使用?

标签 mysql

MySQL 中的等价物是什么:

  1. 保存命令以供以后重用。

    例如:alias command1='select count(*) from sometable;' 然后我只需输入命令 1 即可获取 SomeTable 的计数。

  2. 仅保存字符串,或者更确切地说,保存命令的一部分。

    例如: select * from sometable where $complex_where_logic$ order by attr1 desc; WHere $complex_where_logic$ 是我希望保存且不必继续写出的内容

最佳答案

另一种方法是使用 $complex_where_logic$ 创建 View 并查询 View 而不是表:

CREATE VIEW my_view AS SELECT * FROM sometable WHERE $complex_where_logic$

SELECT my_column FROM my_view ORDER BY some_column

每当您查询 View 时,您始终会获得最新数据。在内部,MySQL 运行 CREATE VIEW 语句中给出的 SELECT 并查询结果,以获得当前 SELECT 的结果。因此,与单个查询相比, View 不会提高性能。使用 View 有两个主要优点:

  • 您可以使用更简单的 SELECT 语句,因为您不必一次又一次地键入复杂的 WHERE 或 JOIN 语法
  • 您可以使用它来控制用户权限,例如授予用户访问 View 的权限,但不能访问原始表;这在您的示例中没有用,但是 - 例如 - 您可以考虑仅包含聚合数据的 View

关于mysql - 保存命令以便以后在 MySQL 中重复使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424791/

相关文章:

mysql - Mysql中的一个奇怪的死锁

javascript - 不显示来自 JSON 数据的图表

mysql - 使用 MYSQL IF SELECT 2 个不同的数据集

php - 在mysql字段中插入≠(不等于)

mysql - 在 MySQL 中的 UPDATE 查询期间将值设置为参数

php - Wordpress SQL 请求,其中包含 WHERE 子句中数组中的数据

php - Apache 虚拟服务器和使用 ip 地址的硬编码 mysql 连接器

mysql - 如何从sql文件中删除图像代码?有转换器或者工具吗?

java - ResultSet 关闭后不允许进行操作第 2 部分

mysql - 如何优化 MySQL 数据库/查询