Mysql查询特定值是哪些表哪些字段
摘自网上
-- 查询整个数据库中某个特定值所在的表和字段的方法
# flush tables; -- 创建表来存储查询结果 drop table if exists tmp_table; CREATE TABLE tmp_table ( tablename VARCHAR(1024) null, columnname VARCHAR(1024) null, columnvalue VARCHAR(1024) null ); DROP PROCEDURE IF EXISTS search_value; DELIMITER $$
-- v1内容值
CREATE PROCEDURE search_value(v1 VARCHAR(1024))
BEGIN DECLARE done INT DEFAULT 0;
DECLARE m_table VARCHAR(64);
DECLARE m_column VARCHAR(64); -- 查询数据库字段类型为'varchar' 的字段
DECLARE m_tables CURSOR
FOR
select table_name, column_name
from information_schema.columns
where data_type = 'varchar'
-- 注意修改这里的 table_schema
and table_schema = 'table_schema'
-- and table_name = 'biz_patient_register'
;
declare continue handler for not FOUND set done = 1; set @_v = v1;
open m_tables;
FETCH m_tables
INTO m_table, m_column;
WHILE done != 1 do
# insert into tmp_table select m_table as tablename, m_column as columnname, v1 as columnvalue;
set @m_sql = concat('insert into tmp_table select ''', m_table, ''' as tablename,''', m_column,
''' as columnname,`', m_column, '` as columnvalue from `', m_table, '` where `', m_column,
'` = ''%', v1, '%'';');
-- 编译sql
prepare stmt from @m_sql; -- 执行sqL
EXECUTE stmt;
deallocate prepare stmt;
# select m_table, m_column;
FETCH m_tables
INTO m_table, m_column;
END WHILE; CLOSE m_tables;
End $$
DELIMITER ; -- 存储过程创建完成
call search_value('152'); -- 执行存储过程
select *
from tmp_table; -- 查询存储过程执行的结果
Mysql查询特定值是哪些表哪些字段的更多相关文章
- mysql查询更新时的锁表机制分析
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. 一.概述 MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(t ...
- [SQL]查询整个数据库中某个特定值所在的表和字段的方法
查询整个数据库中某个特定值所在的表和字段的方法 当数据库做的太庞大的时候,难免会出现忘记哪个值会存入哪个表的情况,于是在网上找到的如下解决办法. 通过做一个存储过程,只需要传入一个想要查找的值,即可查 ...
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. 一.概述 MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(t ...
- MySQL 给已存在的数据表 增加字段和注释
MySQL 给已存在的数据表 增加字段和注释 问题描述 在开发一个系统的过程中,经常会遇到随着系统服务功能的扩展,或者服务之间的关联,需要适当的修改原有的表结构,比如,增加一些必要的字段. 示例:在已 ...
- MySQL查询结果复制到新表(更新、插入)
MySQL中可以将查询结果复制到另外的一张表中,复制的话通常有两种情况,一种是更新已有的数据,另一种是插入一条新记录.下面通过例子来说明.首先构建两个测试表. 表t1: 表t2: 1.如果t2表中存在 ...
- mysql数据库中指定值在所有表中所有字段中的替换
MySQL数据库: 指定值在数据库中所有表所有字段值的替换(存储过程): 1.写一个存储过程,查指定数据库中所有的表名: CREATE PROCEDURE init_replace(in orig_s ...
- Mysql查询的一些操作(查表名,查字段名,查当月,查一周,查当天)
查询数据库中所有表名 select table_name from information_schema.tables where table_schema='tools' and table_typ ...
- SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
这几天有业务部门需要使用一个SAP B1老系统 中的报表,但是由于此报表没有加时间条件,导致一旦开始查询 就会导致B1系统异常退出.由于报表对应的SQL 是存在数据库中,所以想通过查找到这个报表的S ...
- mysql查询关键字补充与多表查询
目录 查询关键字补充 having过滤 distinct去重 order by排序 limit分页 regexp正则 多表查询 子查询 连表查询 查询关键字补充 having过滤 关键字having和 ...
随机推荐
- springboot 传List参数
最近项目有个需求,前台需要传list参数请求controller接口,一开始直接使用ResponseBody注解,但实践下来发现参数没有传到controller. 现将处理方式记录如下: 1.前台 ...
- 网页安全政策"(Content Security Policy,缩写 CSP)
作者:阿里聚安全链接:https://www.zhihu.com/question/21979782/answer/122682029来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- maven pom.xml(公司版)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 给定数组长度2n,分成n对,求n对最小元素之和最大
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大. 示例 ...
- vue的中vuex为何需要mutation更新状态,vue-router的路由的理解
); ); ); history.back(); history.forward(); // 修改历史,包括二个方法pushState.replaceState二个方法(objState,title, ...
- ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu
%ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu load spectra_data.mat temp = randperm(size(NIR,1)); P_tra ...
- POJ 3177 Redundant Paths (边双连通+缩点)
<题目链接> <转载于 >>> > 题目大意: 有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走.现已有m条路,求至少要新 ...
- Nginx访问权限配置
最近建个人网站,在服务器上新建了一个用户zengfp,并且把网站的目录放到了/home/zengfp/www目录下,配置的nginx: server { listen 80 default_serve ...
- git命令详解( 五 )
此篇只会来介绍rebase和merge的区别 rebase merge 区别 rebase 下面我们进行一个小练习来练习一下rebase 看一下题目要求: 共有三个特性分支 —— side1 side ...
- Xamarin Essentials教程数据处理传输数据
Xamarin Essentials教程数据处理传输数据 在移动应用程序中,除了常规的数据处理,还涉及数据存储.数据传输.版本数据多个方面.Xamarin.Essentials组件提供了多个数据处理相 ...