mysql - 从 sql 语句中获取特定列
问题描述
为了显示索引,我们使用以下查询,
show indexes from student;
+---------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| student | 0 | PRIMARY | 1 | ROLL_NO | A | 6 | NULL | NULL | | BTREE | | |
| student | 1 | stu_roll_no_age_index | 1 | ROLL_NO | A | 6 | NULL | NULL | | BTREE | | |
| student | 1 | stu_roll_no_age_index | 2 | AGE | A | 6 | NULL | NULL | YES | BTREE | | |
+---------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+--------------+
现在我试图从上面只选择表,如下所示,
select Table, Key_name, Column_name,Index_type from (show indexes from student);
我想我可能错了,但我不知道如何推理?请告诉我。而且,如何从此类查询的结果中仅获取特定列。
解决方案
您可以使用STATISTICS
db中的表information_schema
,如下所示:
select TABLE_NAME, INDEX_NAME, COLUMN_NAME, INDEX_TYPE
from information_schema.STATISTICS WHERE TABLE_NAME = 'student';
推荐阅读
- kotlin - 覆盖主构造函数的打开值
- c - 当孩子收到 sigstop 信号时读取函数的行为
- minecraft - 如何在 minecraft forge 中修复“方块状态变体 '#normal' 异常的加载模型”?
- javascript - 我正在尝试通过 bs4 collapse 显示特定的用户详细信息
- angular - 更改 matInput 的颜色
- sql - SQL 逻辑:使用 3 个表实现案例更新
- c# - 没有调用布尔事件处理程序属性/如何设置它
- c# - OnReceivedError 已过时:“已弃用”
- ios - iOS/Swift:处理密码重置链接
- botframework - 不使用通道默认设置调用部署在 Azure 机器人服务中的 Cortana 技能