MySQL获取数据库内所有表格数据总数
在 MySQL 中,要获取数据库内所有表格的数据总数,可以编写一个查询脚本来遍历每个表并计算其行数。你可以使用 INFORMATION_SCHEMA 数据库,它包含了关于数据库元数据的表格,如 TABLES 和 COLUMNS。
以下是一个示例脚本,展示了如何使用 SQL 查询和存储过程来获取所有表格的数据总数:
使用 SQL 查询和脚本
- 查询所有表的行数(直接方法,适合命令行工具)
如果你只是临时需要这些信息,并且你的数据库表数量不多,可以直接在命令行工具中运行以下查询:
SELECT table_name AS 'Table',table_rows AS 'Rows'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'AND table_type = 'BASE TABLE';
将 your_database_name 替换为你的实际数据库名称。table_rows 列提供了每个表的行数估算值(对于 InnoDB 表,这可能是一个估算值,而不是精确值)。
- 使用存储过程(适合更复杂的场景)
如果你只想获取所有表的总行数,可以使用以下查询:
SELECT SUM(table_rows)
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
这将返回数据库中所有表的行数总和。
- 使用存储过程(适合更复杂的场景)
如果你需要更灵活或者更复杂的处理,可以创建一个存储过程来遍历所有表并计算其行数。以下是一个示例存储过程:
DELIMITER // -- 设置新的语句结束符为"//",以便在存储过程中使用";"而不结束整个存储过程的定义。CREATE PROCEDURE CountAllTableRows() -- 创建一个名为CountAllTableRows的存储过程。
BEGIN-- 变量声明部分DECLARE done INT DEFAULT FALSE; -- 声明一个名为done的整型变量,用于标记游标是否读取完毕,初始值为FALSE。DECLARE tbl_name VARCHAR(255); -- 声明一个名为tbl_name的字符串变量,用于存储当前处理的表名。DECLARE row_count INT DEFAULT 0; -- 声明一个名为row_count的整型变量,用于临时存储行数(但在这个过程中并未使用到)。-- 游标声明部分DECLARE cur CURSOR FOR -- 声明一个名为cur的游标。SELECT table_name -- 游标查询的SQL语句,从information_schema.tables中选择表名。FROM information_schema.tables WHERE table_schema = 'your_database_name' -- 限定查询的数据库名(需要替换为实际的数据库名)。AND table_type = 'BASE TABLE'; -- 只选择基本表(排除视图等)。-- 继续处理游标结束时的处理器DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 当游标读取不到数据时,设置done为TRUE。-- 临时表声明部分CREATE TEMPORARY TABLE IF NOT EXISTS temp_row_counts ( -- 创建一个名为temp_row_counts的临时表(如果不存在)。table_name VARCHAR(255), -- 存储表名。row_count BIGINT -- 存储行数,使用BIGINT以支持大表。);-- 打开游标OPEN cur;-- 读取循环read_loop: LOOP -- 定义一个名为read_loop的循环。FETCH cur INTO tbl_name; -- 从游标中读取一个表名到tbl_name变量。IF done THEN -- 判断是否读取完毕。LEAVE read_loop; -- 如果读取完毕,则离开循环。END IF;-- 获取当前表的行数SET @s = CONCAT('SELECT COUNT(*) INTO @cnt FROM ', tbl_name); -- 拼接动态SQL语句。PREPARE stmt FROM @s; -- 准备执行动态SQL语句。EXECUTE stmt; -- 执行动态SQL语句,结果存储在@cnt变量中。DEALLOCATE PREPARE stmt; -- 释放动态SQL语句。-- 将行数插入临时表INSERT INTO temp_row_counts (table_name, row_count) VALUES (tbl_name, @cnt); -- 将表名和行数插入临时表。END LOOP;-- 关闭游标CLOSE cur;-- 从临时表中选择结果SELECT * FROM temp_row_counts; -- 查询并显示临时表中的所有记录。-- 删除临时表DROP TEMPORARY TABLE IF EXISTS temp_row_counts; -- 删除临时表(如果存在)。
END // -- 存储过程定义结束。DELIMITER ; -- 将语句结束符重置为默认的";"。
然后,你可以通过调用存储过程来获取所有表的行数:
CALL CountAllTableRows();
注意事项:
- 在实际使用存储过程之前,需要将 ‘your_database_name’ 替换为实际的数据库名称。
- 存储过程中使用了动态SQL(通过 PREPARE 和 EXECUTE 语句),这是因为在存储过程中直接执行包含变量作为表名的SQL语句是不被允许的。
- 临时表 temp_row_counts 用于存储每个表的行数,以便在存储过程结束时能够一次性查询并显示所有结果。
- 使用 BIGINT 类型来存储行数,以支持可能非常大的表。
敲黑板
- 性能:对于非常大的数据库,这些方法可能非常耗时和占用资源。
- 估算值:对于 InnoDB 表,
table_rows列可能是一个估算值,而不是精确值。如果需要精确值,必须执行COUNT(*)查询。 - 权限:确保你的数据库用户有足够的权限访问
INFORMATION_SCHEMA并执行所需的查询。
通过上述方法,你可以轻松获取 MySQL 数据库中所有表格的数据总数。
相关文章:
MySQL获取数据库内所有表格数据总数
在 MySQL 中,要获取数据库内所有表格的数据总数,可以编写一个查询脚本来遍历每个表并计算其行数。你可以使用 INFORMATION_SCHEMA 数据库,它包含了关于数据库元数据的表格,如 TABLES 和 COLUMNS。 以下是一个示例脚本,…...
Matlab 深度学习工具箱 案例学习与测试————求二阶微分方程
clc clear% 定义输入变量 x linspace(0,2,10000);% 定义网络的层参数 inputSize 1; layers [featureInputLayer(inputSize,Normalization"none")fullyConnectedLayer(10)sigmoidLayerfullyConnectedLayer(1)sigmoidLayer]; % 创建网络 net dlnetwork(layers);% 训…...
django authentication 登录注册
文章目录 前言一、django配置二、后端实现1.新建app2.编写view3.配置路由 三、前端编写1、index.html2、register.html3、 login.html 总结 前言 之前,写了django制作简易登录系统,这次利用django内置的authentication功能实现注册、登录 提示ÿ…...
三种蓝牙架构实现方案
一、蓝牙架构方案 1、hostcontroller双芯片标准架构 手机里面包含很多SoC或者模块,每颗SoC或者模块都有自己独有的功能,比如手机应用跑在AP芯片上,显示屏,3G/4G通信,WiFi/蓝牙等都有自己专门的SoC或者模块࿰…...
ffmpeg 视频滤镜:高斯模糊-gblur
滤镜描述 gblur 官网地址 > FFmpeg Filters Documentation 这个滤镜会将视频变得模糊。 滤镜使用 参数 gblur AVOptions:sigma <float> ..FV.....T. set sigma (from 0 to 1024) (default 0.5)steps <int> ..FV.....T…...
期权懂|在期权市场中,如何用好双买期权?
期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 在期权市场中,如何用好双买期权? 期权双买操作,即同时买入认购期权(看涨期权)和认沽期权(看跌期权…...
【Linux学习】【Ubuntu入门】2-3 make工具和makefile引入
1.使用命令新建三个.c文件vi main.c,vi input.c,vi caclcu.c,两个.h文件vi input.h,vi caclcu.h 2.vi Makefile:新建Makefile文件,输入一下内容 注意:命令列表中每条命令前用TAB键,不…...
《黑神话:悟空》游戏辅助修改器工具下载指南与操作方法详解
《黑神话:悟空》是一款备受期待的动作冒险游戏,目前尚未正式发布。游戏开发团队一直在强调游戏的完整性和公平性,因此官方并不支持任何形式的作弊或修改行为。然而,对于一些玩家而言,使用辅助修改器可能会成为他们体验…...
C语言菜鸟入门·关键字·union的用法
目录 1. 简介 2. 访问成员 2.1 声明 2.2 赋值 3. 共用体的大小 4. 与typedef联合使用 5. 更多关键字 1. 简介 共用体(union)是一种数据结构,它允许在同一内存位置存储不同的数据类型,但每次只能存储其中一种类型的…...
ensp静态路由实验
一、实验目的 1、熟练掌握交换机的基本配置命令 2、熟练掌握静态路由的使用方法 3. 熟练掌握交换机端口模式 二、实验内容 需求: 根据要求利用现有实验设备组建小型局域网 实验设备: 交换机S37002台;PC机2台;路由器2台。 …...
构建 Java Web 应用程序:从 Servlet 到数据库交互(Eclipse使用JDBC连接Mysql数据库)
第 1 部分:环境设置 安装 Java Development Kit (JDK):下载并安装 JDK。设置 IDE:安装并配置 IDE(如 IntelliJ IDEA 或 Eclipse)。安装数据库:下载并安装 MySQL 数据库。配置数据库:创建数据库…...
mfc100u.dll是什么?分享几种mfc100u.dll丢失的解决方法
mfc100u.dll 是一个动态链接库(DLL)文件,属于 Microsoft Foundation Classes (MFC) 库的一部分。MFC 是微软公司开发的一套用于快速开发 Windows 应用程序的 C 类库。mfc100u.dll 文件包含了 MFC 库中一些常用的函数和类的定义,这…...
Java面试之多线程并发篇
前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说一说自己对于 synchronized 关键字的了解?说说自己是怎么使用 synchronized 关键字?什么是线程安全?Vector是一个线程安全类吗?…...
视频推拉流EasyDSS互联网直播点播平台技术特点及应用场景剖析
在数字科技日新月异的今天,视频直播和点播已经成为互联网内容传播的重要方式之一。而互联网直播点播平台EasyDSS作为功能强大的流媒体直播点播视频能力平台,提供了一站式的视频推拉流、转码、直播、点播、时移回放、存储等视频服务,广泛应用于…...
安全加固方案
交换机安全加固 查看是否关闭未使用的接口 25GE1/0/1、25GE1/0/47、25GE1/0/48需要使用,暂不关闭 system-view # interface Eth-Trunk99 shutdown quit interface Eth-Trunk100 shutdown quit interface Eth-Trunk110 shutdown quit interface 25GE1/…...
Linux firewall防火墙规则
官网 https://firewalld.org/ 查看所有防火墙规则: firewall-cmd --list-all-zones查看当前区域防火墙规则: firewall-cmd --list-all添加一个开放服务规则: firewall-cmd --add-servicessh删除一个开放服务规则: firewall-cmd…...
速盾:CDN缓存的工作原理是什么?
CDN(内容分发网络)是一种将内容分发到全球不同地理位置的网络架构,以提供更快速、可靠的内容传输。其核心原理是利用缓存技术,将数据内容分布到离用户最近的边缘节点上。当用户请求内容时,CDN将根据用户的IP地址&#…...
日常开发记录-正确的prop传参,reduce搭配promise的使用
日常开发记录-正确的prop传参,reduce搭配promise的使用 1.正确的prop传参2.reduce搭配promise的使用 1.正确的prop传参 一般会的父组件传参子组件 //父组件 <A :demodata.sync"testData" :listData.sync"testData2"></A> data ()…...
Hyper-V配置-cnblog
启用Hyper-V以在 Windows 10上创建虚拟机 (1)控制面板检查系统要求: 确保您的计算机符合 Hyper-V 的系统要求。通常情况下,您的计算机需要运行 Windows 10 专业版、企业版或教育版,并且具有启用了虚拟化技术的处理器。…...
运维Tips:Docker或K8s集群拉取Harbor私有容器镜像仓库配置指南
[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Docker与Kubernetes集群拉取Harbor私有容器镜像仓库配置 描述:在现在微服务、云原生的环境下,通常我们会在企业中部署Docker和Kubernetes集群,并且会在企业内部搭建Harbor私有镜像仓库以保证开发源码安全,以及加快…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
