Is there a mySQL query to search all tables within a database?

If not can you search all tables within a database from the mySQL workbench GUI?

From phpmyadmin there's a search panel you can use to select all tables to search through. I find this super effective since magento, the ecommerce package I'm working with has hundreds of tables and different product details are in different tables.

解决方案

If you want to do it purely in MySQL, without the help of any programming language, you could use this:

## Table for storing resultant output

CREATE TABLE `temp_details` (

`t_schema` varchar(45) NOT NULL,

`t_table` varchar(45) NOT NULL,

`t_field` varchar(45) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

## Procedure for search in all fields of all databases

DELIMITER $$

#Script to loop through all tables using Information_Schema

DROP PROCEDURE IF EXISTS get_table $$

CREATE PROCEDURE get_table(in_search varchar(50))

READS SQL DATA

BEGIN

DECLARE trunc_cmd VARCHAR(50);

DECLARE search_string VARCHAR(250);

DECLARE db,tbl,clmn CHAR(50);

DECLARE done INT DEFAULT 0;

DECLARE COUNTER INT;

DECLARE table_cur CURSOR FOR

SELECT concat('SELECT COUNT(*) INTO @CNT_VALUE FROM `',table_schema,'`.`',table_name,'` WHERE `', column_name,'` REGEXP ''',in_search,''';')

,table_schema,table_name,column_name

FROM information_schema.COLUMNS

WHERE TABLE_SCHEMA NOT IN ('information_schema','test','mysql');

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

#Truncating table for refill the data for new search.

PREPARE trunc_cmd FROM "TRUNCATE TABLE temp_details;";

EXECUTE trunc_cmd ;

OPEN table_cur;

table_loop:LOOP

FETCH table_cur INTO search_string,db,tbl,clmn;

#Executing the search

SET @search_string = search_string;

SELECT search_string;

PREPARE search_string FROM @search_string;

EXECUTE search_string;

SET COUNTER = @CNT_VALUE;

SELECT COUNTER;

IF COUNTER>0 THEN

# Inserting required results from search to table

INSERT INTO temp_details VALUES(db,tbl,clmn);

END IF;

IF done=1 THEN

LEAVE table_loop;

END IF;

END LOOP;

CLOSE table_cur;

#Finally Show Results

SELECT * FROM temp_details;

END $$

DELIMITER ;

mysql搜索所有表,mySQL查询来搜索数据库中的所有表以查找字符串?相关推荐

  1. oracle 删除表存过,oracle删除数据库中已存在表的实例代码

    摘要 腾兴网为您分享:oracle删除数据库中已存在表的实例代码,长沙银行,银万财富,图钉,听中国等软件知识,以及土豆app,局域网文件,宝宝学动物,观海听涛bbs,育碧,生男生女预测大师,新先视,信 ...

  2. 清空mysql一个库中的所有表_mysql怎样清空一个数据库中的所有表_MySQL

    转载自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146 Mysql清空表是很重要的操作,也是最常见的操作之一,下面就为您详细 ...

  3. mysql select 所有表_怎样用SQL语句查询一个数据库中的所有表

    展开全部 查询32313133353236313431303231363533e59b9ee7ad9431333431356639一个数据库中的所有表sql语句是show tables: 显示所有数据 ...

  4. MySQL数据库中的多表查询含义以及练习~建议码友们点亮拇指+收藏呐~

    MySQL数据库中的多表查询含义以及练习 一. 多表查询含义 二. 多表查询练习 1. 已知表 2. 需求And代码 一. 多表查询含义 查询语法: select列名列表from表名列表where条件 ...

  5. mysql将查询结果写入另一张表_将一张表的查询结果插入到另一张表(转)

    将一张表的查询结果插入到另一张表 方法一: 代码 1 select into 和 insert into select 两种表复制语句 2 select * into destTbl from src ...

  6. MySQL数据库中的数据表

    1.创建数据表 创建数据表的,使用字符串应该遵循的原则 从速度方面考虑,要选择固定的列,可以使用CHAR类型 要节省空间,使用动态的列,可以使用VARCHAR类型 要将列中的内容限制为一种选择,可以使 ...

  7. MySQL 用 truncate 命令快速清空一个数据库中的所有表

    MySQL 用 truncate 命令快速清空一个数据库中的所有表. 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ...

  8. mysql中删除数据库中的表格数据恢复_恢复从数据库中删除的表

    恢复从数据库中删除的表Recover tables deleted from a database 09/25/2018 本文内容 本主题演示如何创建一个示例 Visual Basic for App ...

  9. vb 读取mysql所有表名_VB 读取ACCESS数据库中所有表名和指定表字段名.doc

    VB 读取ACCESS数据库中所有表名和指定表字段名 托束显疫面绰么蚂扛沁米衅居鸳辗熊踌薄舱杂们帖婉珍抓津担庐撕枪呻头胀亨短宛溅锭语氏遣搀赠摩紧茧综逾颂备呛庞枷脓移厚醛仕恬浸值胶碟亦短咳腥钥捎魄朗氟商 ...

  10. mysql 截断多个表_如何从MySQL数据库中截断所有表?

    好吧,我自己解决了这里是存储过程:) BEGIN DECLARE done BOOLEAN DEFAULT FALSE; DECLARE truncatestmnt TEXT; -- this is ...

最新文章

  1. jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射
  2. Python工程的文档结构
  3. Visual Studio 2015软件安装教程
  4. Mendeley Desktop 很好用的一个文件管理软件
  5. 【论文解读】AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器!
  6. 鼠标右击 左击 等总结
  7. linux之dig命令
  8. 超级计算机阿波罗11,Apollo 8000推进超算科学发展
  9. 高度自定义的TabBarController 两个TableView之间的联动
  10. 百度ERNIE新突破!登顶中文医疗信息处理权威榜单CBLUE冠军
  11. 一个奇怪的DNS服务器故障
  12. java+整合handwrite_GitHub - wmz46/HandWriteRecognizer: 封装Microsoft.Ink为C++动态库,可供其他语言调用手写识别...
  13. 【Android工具】更新Yandex网页剪辑插件测试!可以安装PCchrome插件的手机浏览器!...
  14. i350在linux系统刷MAC,MAC 10.14 安装教程10-基于黑果小兵大神EFI文件的修改过程
  15. hdmi接口线_视频接口与视频线详解!
  16. word转html分页符,Word分页符、分栏符、换行符、分节符的作用
  17. 解读翻译李飞飞-Hiding Data With Deep Networks
  18. 转阿彪 PHP常见的安全问题
  19. 中文简体与繁体的转换
  20. 模型边缘自发光材质——Shader

热门文章

  1. 705. 设计哈希集合
  2. 【论文写作】本科、硕士研究生毕业论文格式问题
  3. mysql limit锁_mysql中limit的用法
  4. oracle 10g安装企业版,企业版Oracle10g的安装-过程
  5. 服务器上装双系统,服务器上安装双系统
  6. linux scp ssh拷贝文件,linux-远程拷贝文件之scp
  7. 以太网口差分电平_高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术...
  8. mysql5.6无法安装_windows下Mysql5.6的安装
  9. Docker镜像导致centos-root根分区容量爆满
  10. JDBC批量插入数据优化,使用addBatch和executeBatch