Mysql高级查询整理

INFORMATION_SCHEMA

INFORMATION_SCHEMA 是 MySQL 数据库系统中的一个特殊数据库,它包含了关于数据库对象的元数据信息。通过查询 INFORMATION_SCHEMA,可以获取有关数据库、表、列、索引、外键、用户权限等方面的信息。

以下是 INFORMATION_SCHEMA 中包含的一些常见信息:

1. SCHEMATA:
   SCHEMATA 表包含了数据库实例中所有可用的数据库(schema)的信息,如数据库名称、字符集、默认排序规则等。

2. TABLES:
   TABLES 表包含了数据库中的所有表的信息,如表名、所属数据库、创建时间、表类型(临时表、视图等)等。

3. COLUMNS:
   COLUMNS 表包含了数据库中所有表的列信息,如列名、所属表名、所属数据库、数据类型、是否为主键等。

4. STATISTICS:
   STATISTICS 表包含了数据库中表和索引的统计信息,如索引名、索引类型、索引的列名和基数(distinct key count)等。

5. ROUTINES:
   ROUTINES 表包含了数据库中的存储过程和函数的信息,如名称、定义的数据库、创建时间、参数信息等。

6. USER_PRIVILEGES:
   USER_PRIVILEGES 表包含了数据库用户及其权限的信息,如用户名称、权限级别、权限类型等。

以上只是 INFORMATION_SCHEMA 中的一部分表,还有其他诸如 KEY_COLUMN_USAGE、REFERENTIAL_CONSTRAINTS、VIEWS、TRIGGERS 等表,用于存储关于键、外键、视图和触发器的信息等。

通过查询 INFORMATION_SCHEMA,可以了解 MySQL 数据库的结构、元数据信息和权限等方面的内容,这些信息对于数据库管理和查询优化等工作非常有用。

希望以上信息对你有所帮助,如果还有其他问题,请随时提问。

根据表名查找数据库名


SELECT TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'index_info';

查询数据库中所有的表:



SELECT table_name FROM information_schema.tables WHERE table_schema = 'your_database';


查询特定表的列信息:


SELECT column_name, data_type, column_type, is_nullable FROM information_schema.columns WHERE table_schema = 'your_database' AND table_name = 'your_table';
 

 查询特定表的索引信息:



SELECT index_name, column_name, non_unique FROM information_schema.statistics WHERE table_schema = 'your_database' AND table_name = 'your_table';
 

查询所有存储过程和函数:



SELECT routine_name, routine_type FROM information_schema.routines WHERE routine_schema = 'your_database';

查询数据库用户及其权限:



SELECT grantee, privilege_type FROM information_schema.user_privileges WHERE table_schema = 'your_database';
 

 查询视图信息:



SELECT table_name, view_definition FROM information_schema.views WHERE table_schema = 'your_database';
 

在上述查询语句中,需要替换 'your_database' 为你实际的数据库名,'your_table' 为表名或对象名等。

可以根据具体需求,使用不同的查询条件和需要的字段来获取 INFORMATION_SCHEMA 中的信息。通过查询 INFORMATION_SCHEMA,你可以获得数据库、表、列、索引、存储过程、用户权限等方面的详细信息。

其他的表

除了 INFORMATION_SCHEMA,MySQL 还有一些其他特殊的表,用于存储和管理特定的信息。以下是一些常见的特殊表:

1. mysql.user:
   mysql.user 表存储了 MySQL 数据库的用户信息,包括用户名、密码、权限等。

2. mysql.db:
   mysql.db 表存储了数据库级别的权限信息,包括用户对各个数据库的权限授予情况。

3. mysql.tables_priv:
   mysql.tables_priv 表存储了表级别的权限信息,包括用户对各个表的权限授予情况。

4. mysql.columns_priv:
   mysql.columns_priv 表存储了列级别的权限信息,包括用户对各个列的权限授予情况。

这些特殊的表位于 MySQL 的系统数据库中,这些数据库名为 mysql。这些表用于存储和管理用户、权限和安全相关的信息。

需要注意的是,对于这些特殊的表,一般来说,不推荐直接向这些表进行插入、更新和删除等操作。建议使用 MySQL 提供的 GRANT 和 REVOKE 命令来管理用户和权限,以确保数据的完整性和一致性。

MySQL中查询锁表的SQL

MySQL 是一个开源关系型数据库管理系统,十分常用。在 MySQL 中,查询锁表是一种常见的操作,用来查看哪些表被锁住,以及锁住这些表的 SQL 语句是什么。下面介绍一下查询锁表的 SQL 语句。

SHOW OPEN TABLES WHERE In_use >0;

这个 SQL 语句是用来查询当前正在被占用(即被锁住)的表的信息。其中,“In_use” 表示正在使用的连接数。如果大于 0,就说明该表被锁住了。

SHOW OPEN TABLES WHERE In_use >0 AND Name LIKE '%表名%';

这个 SQL 语句是用来查询指定表是否被锁住的。其中,“Name” 表示表的名称,用 % 表示通配符。只有符合条件的表才会被查询。

SHOW FULL PROCESSLIST;

这个 SQL 语句是查看当前正在执行的 SQL 语句的详细信息,其中包括锁信息。如果需要查询某个特定的连接,可以使用以下 SQL 语句:

SELECT * FROM information_schema.processlist WHERE id = 连接ID;

以上就是 MySQL 查询锁表的 SQL 语句。通过这些语句,可以方便地查看哪些表被锁住,进而处理卡顿、防止死锁等问题。

综合去开

select b.id,a.*,a.trx_state,b.db,b.* from information_schema.innodb_trx a left join information_schema.processlist b on a.trx_mysql_thread_id=b.id  where db='scct' order by trx_started

其中

`information_schema.innodb_trx` 表是 MySQL 中的一个信息模式表,它提供了关于当前正在运行的 InnoDB 事务的信息。该表包含了以下列:

- `trx_id`:事务的唯一标识符。
- `trx_state`:事务的状态,如运行中、等待锁定等。
- `trx_started`:事务开始的时间。
- `trx_requested_lock_id`:事务所请求的锁的标识符。
- `trx_wait_started`:等待锁定开始的时间。
- `trx_weight`:事务的权重,用于决定事务在等待锁定时的优先级。
- `trx_mysql_thread_id`:事务所属的 MySQL 线程 ID。

`information_schema.processlist` 表也是一个信息模式表,它提供了当前正在运行的连接和查询的信息。该表包含了以下列:

- `id`:连接的唯一标识符。
- `db`:连接所使用的数据库。
- `command`:连接当前执行的命令类型,如查询、锁定等。
- `time`:连接已经执行的时间。
- `state`:连接的当前状态。
- `info`:连接正在执行的查询语句信息。

综合来说,`information_schema.innodb_trx` 表提供了有关 InnoDB 事务的信息,而 `information_schema.processlist` 表提供了当前正在运行的连接和查询的信息。在查询中,通过将这两个表联接起来,您可以获得关于指定数据库的事务信息以及相关连接和查询的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络数据包传感器简化流量监控

数据包捕获基于数据包镜像的概念,可用于深度数据包检查、测量应用程序的响应时间以及监视服务器、网络和用户行为,该技术还可用于对需要特定信息的某些区域进行广泛分析,尽管它有效,但并非在所有情况下都是必要的。要分析和管理流…

企业数字化转型与供应链效率-基准回归复刻(2007-2022年)

参照张树山(2023)的做法,本团队对来自统计与决策《企业数字化转型与供应链效率》一文中的基准回归部分进行复刻。文章实证检验企业数字化转型对供应链效率的影响。用年报词频衡量上市公司数字化转型程度,以库存周转天数来衡量供应…

mysql 全文检索 demo

mysql5.6.7之后开始支持中文全文检索一直没用过,这次试试。 创建表 CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR (200),body TEXT,FULLTEXT (title, body) WITH PARSER ngram ) ENGINE INNODB DEFAULT CHARSETut…

Docker学习——④

文章目录 1、Docker Image(镜像)2、镜像命令详解2.1 docker rmi2.2 docker save2.3 docker load2.4 docker image inspect2.5 docker history2.6 docker image prune 3、镜像综合实战3.1 离线镜像迁移3.2 镜像存储的压缩与共享 1、Docker Image&#xff…

el-select配合el-tree实现下拉选以及数据回显以及搜索

一、前言 有时候就会遇到组件配合使用的情况&#xff0c;然后就整理了一下&#xff0c;后面大家需要的话可以直接拿去使用。 二、源码 <template><el-selectref"selectTree"filterablev-model"name":placeholder"请选择":filter-meth…

你知道在游戏开发中怎么将算法与其作用的对象隔离开来吗?

点击上方亿元程序员关注和★星标 引言 你可能知道的设计模式-访问者模式 大家好&#xff0c;今天我们要来聊一聊在游戏开发中非常实用的设计模式——访问者模式。访问者模式是一种将算法与对象结构分离的软件设计模式&#xff0c;它可以让代码更加灵活、可扩展&#xff0c;同…

那些年遇到过的问题与解决方案

目录 一、当我们想进行数据回显并且只是让用户查看信息不能编辑时&#xff0c;置灰处理 二、多选框初始化加载问题 三、时间处理 获取当前年月日 时间自定义格式化 时间脱敏处理&#xff0c;去掉秒 四、input输入框处理 input输入框设定为只能输入0与正整数 刚进页面…

UE4 Niagara Module Script 初次使用笔记

这里可以创建一个Niagara模块脚本 创建出来长这样 点击号&#xff0c;输出staticmesh&#xff0c;点击它 这样就可以拿到对应的一些模型信息 这里的RandomnTriCoord是模型的坐标信息 根据坐标信息拿到位置信息 最后的Position也是通过Map Set的号&#xff0c;选择Particles的P…

达梦数据库表空间管理常用SQL

达梦数据库表空间管理常用SQL 表空间容量分析表空间创建与扩容 查看数据库状态&#xff1a; select name,instance_name,status$,mode$ from v$instance; --mode$显示Primary为主库select name,status$,role$ from v$database; --status$&#xff1a;1 启动&#xff0c;2 启动…

数据库实验:SQL的数据视图

目录 视图概述视图的概念视图的作用 实验目的实验内容实验要求实验过程 视图概述 视图是由数据库中的一个表或多个表导出的虚拟表&#xff0c;其作用是方便用户对数据的操作 视图的概念 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一…

安科瑞出席2023湖南智能建筑电气高峰论坛-安科瑞 蒋静

10月27日&#xff0c;安科瑞电气股份有限公司受邀出席在湖南长沙召开的2023湖南智慧建筑电气高峰论坛。会议主题是“安全、健康、智慧、创新”&#xff0c;现场汇集湖南省设计院、施工单位、高等院校和企业代表等300余人参会。 湖南省建筑设计院集团股份有限公司机电院总工、正…

原文远知行COO张力加盟逐际动力 自动驾驶进入视觉时代?

11月7日&#xff0c;通用足式机器人公司逐际动力LimX Dynamics官宣了两位核心成员的加入。原文远知行COO张力出任逐际动力联合创始人兼COO&#xff0c;香港大学长聘副教授潘佳博士为逐际动力首席科学家。 根据介绍&#xff0c;两位核心成员的加入&#xff0c;证明一家以技术驱…

Flink SQL Regular Join 、Interval Join、Temporal Join、Lookup Join 详解

Flink ⽀持⾮常多的数据 Join ⽅式&#xff0c;主要包括以下三种&#xff1a; 动态表&#xff08;流&#xff09;与动态表&#xff08;流&#xff09;的 Join动态表&#xff08;流&#xff09;与外部维表&#xff08;⽐如 Redis&#xff09;的 Join动态表字段的列转⾏&#xf…

低代码开发,节约成本更好的选择

目录 低代码开发过程中是如何工作的&#xff1f; 低代码开发具备哪些功能&#xff1f; 具备的功能有&#xff1a; 01、高性能、高拓展 02、功能丰富&#xff0c;满足通用场景 03、私有化部署 04、代码生成器&#xff0c;下载代码进行二次开发 05、适配国产化&#xff0c;支持主…

黄金走势分析:美元反弹,金价已失守1980关口

昨晚美元和美债收益率反弹回升&#xff0c;现货黄金震荡下行&#xff0c;美市尾盘金价失守1980美元关口&#xff0c;最低至1977.22美元/盎司&#xff0c;最终收跌0.72%&#xff0c;报收1977.69美元/盎司。在汉声集团分析师张新才发稿前&#xff0c;今日&#xff08;周二&#x…

JavaSE 再续篇-面试题:this 与 super 关键字的区别

&#x1f525;博客主页&#xff1a; 小扳_-CSDN博客 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 this 与 super 关键字的区别 1.1 在Java中&#xff0c;this 关键字有以下作用 1.2 在Java中&#xff0c;super 关键字有以下作用 2.0 经典习题 1.0 this 与 su…

后台项目Gradle打包jar,不包含依赖jar并放到外部路径

# 1.Gradle打包jar # 2.依赖jar包外放到其他目录 # 3.保留引用关系 # 4.去掉引入的缓存build.gradle// 需要放到dependencies下面 // 傻逼问题 1 这个jar打包还得主动开 jar.enabled true // 1.清除上一次的lib目录 task clearJar(type: Delete) {delete "$buildDir\\lib…

从js和json中引入数据的区别

在前端开发中&#xff0c;你可以使用 JavaScript 来从 JSON 文件中引入数据。以下是一个基本的示例&#xff0c;演示如何从 JSON 文件中加载数据&#xff1a; 假设你有一个名为 data.json 的 JSON 文件&#xff0c;其中包含一些数据&#xff0c;如下所示&#xff1a; {"…

一种以RGB颜色登录的密码实现

当用户点击了某些密码之后&#xff0c;就可以登录成功&#xff0c;主要用于安全码&#xff0c;辅助安全手段。 颜色密码虽然不方便用键盘输入&#xff0c;只能用鼠标点击&#xff0c;但是容易记忆&#xff0c;也不容易被黑客攻陷。

Jmeter分布式测试的注意事项和常见问题

Jmeter是一款开源的性能测试工具&#xff0c;使用Jmeter进行分布式测试时&#xff0c;也需要注意一些细节和问题&#xff0c;否则可能会影响测试结果的准确性和可靠性。 Jmeter分布式测试时需要特别注意的几个方面 1. 参数化文件的位置和内容 如果使用csv文件进行参数化&…