Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql分析表内容_Mysql_Sql - Fatal编程技术网

Mysql分析表内容

Mysql分析表内容,mysql,sql,Mysql,Sql,我忘记了分析表内容的SQL命令的名称。 我要查找的命令为每个列显示内容的最小/最大/平均长度。 如果我没记错的话,它是从一个普通的选择开始的 SELECT * FROM table foo bar 所有谷歌搜索都会显示聚合函数或“分析表”。但这不是我想要的。 注意,这在MySQL 5.7中被弃用,在MySQL 8.0中被删除 希望有一天会有一些其他的实现(可能是MySQL外壳插件)供8.0用户使用。 注意,这在MySQL 5.7中被弃用,在MySQL 8.0中被删除 希望有一天会有其他的实现(

我忘记了分析表内容的SQL命令的名称。 我要查找的命令为每个列显示内容的最小/最大/平均长度。 如果我没记错的话,它是从一个普通的选择开始的

SELECT * FROM table foo bar
所有谷歌搜索都会显示聚合函数或“分析表”。但这不是我想要的。

注意,这在MySQL 5.7中被弃用,在MySQL 8.0中被删除

希望有一天会有一些其他的实现(可能是MySQL外壳插件)供8.0用户使用。

注意,这在MySQL 5.7中被弃用,在MySQL 8.0中被删除


希望有一天会有其他的实现(可能是MySQL外壳插件)供8.0用户使用。

另一种方法是获取表的直方图。不过,这需要更多的工作。例如:

create table customer (
  name varchar(20),
  salary int
);
然后在表中插入1000个随机行:

insert into customer (name, salary)
with recursive
c (it, name, salary) as (
  select 1,  substring(md5(rand()) from 1 for 10), 50000
 union all
  select
    it + 1,
    substring(md5(rand()) from 1 for 10),
    floor(rand() * (120000 - 22000 + 1)) + 22000
  from c
  where it < 1000
)
select name, salary from c;
结果:

COLUMN_NAME  min_value                        max_value                      
-----------  -------------------------------  -------------------------------
name         base64:type254:MDA2NzM2YmUwYQ==  base64:type254:ZmZjNjJlYWNmMg==
salary       22089                            119840                         

另一种方法是获取表格的柱状图。不过,这需要更多的工作。例如:

create table customer (
  name varchar(20),
  salary int
);
然后在表中插入1000个随机行:

insert into customer (name, salary)
with recursive
c (it, name, salary) as (
  select 1,  substring(md5(rand()) from 1 for 10), 50000
 union all
  select
    it + 1,
    substring(md5(rand()) from 1 for 10),
    floor(rand() * (120000 - 22000 + 1)) + 22000
  from c
  where it < 1000
)
select name, salary from c;
结果:

COLUMN_NAME  min_value                        max_value                      
-----------  -------------------------------  -------------------------------
name         base64:type254:MDA2NzM2YmUwYQ==  base64:type254:ZmZjNjJlYWNmMg==
salary       22089                            119840                         

不记得结果是什么样子。但我认为它包含了一个列类型的建议。我不记得结果是什么样子。但是我认为它包括了一个关于列类型的建议。谢谢。这正是我想要的。使我的日常琐事:这个特性只是一个示例,演示了一种扩展MySQL的方法。任何人都可以编写代码来实现一种查询结果的后处理过滤器。
analysis()。但是没有人使用它。他们更喜欢在应用程序代码中处理结果。因此,在8.0版本中,MySQL服务器中删除了该功能,以稍微简化代码。没有必要在服务器中维护该功能,因为没有人使用它。谢谢。这正是我想要的。使我的日常琐事:这个特性只是一个示例,演示了一种扩展MySQL的方法。任何人都可以编写代码来实现一种查询结果的后处理过滤器。
analysis()。但是没有人使用它。他们更喜欢在应用程序代码中处理结果。因此,在8.0版本中,MySQL服务器中删除了该功能,以稍微简化代码。没有必要在服务器中维护该功能,因为没有人使用它。