假设我的数据库Test中有几百张张表,里面有一些表中有字段Station_NO,怎么查找所有包涵Station_No=10的表啊?求高手指点,在线等
解决方案 »
- MySQL表级锁,行级锁,页级锁 哪位大哥简单明了地讲解一下
- 存贮过程几个问题请教。
- 连接postgresql中出现Ident authentication failed for user (求解)
- 下载了个mysql5的非安装版,不知怎么运行起来?
- 请问如何导出mysql的数据库?给分的……
- float和double类型的奇怪问题,高手请进
- mysql里面有没有跟SQL SERVER :select top 3 * from member(top) 这样相同的语法啊
- insert select 拼接表 失败 附图
- 在win2000上用java连局域网内linux上的mysql 总是出现错误请高手指点程序如下
- 求助,关于mysql查询问题
- mysql出错,求原理
- 新版Mysql安装失败,怎么安装搞这么麻烦了?要啥.netframework...
如果有, 得到相应表名。判断是否有Station_No=10的记录,得到 结果
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE tabname VARCHAR(100);
DECLARE column_counts INT DEFAULT 0;
DECLARE cur_tmp CURSOR FOR SELECT TABLE_NAME FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA=table_schemas AND COLUMN_NAME=column_names;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;
OPEN cur_tmp;
FETCH cur_tmp INTO tabname;
WHILE done=0 DO
SET @mysql:=CONCAT('SELECT COUNT(*) INTO @counts FROM ',tabname,' WHERE ',column_names,'=\'',column_values,'\'');
PREPARE stmt FROM @mysql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET column_counts=column_counts+@counts;
FETCH cur_tmp INTO tabname;
END WHILE;
CLOSE cur_tmp;
IF column_counts>0 THEN
SELECT '存在符合条件的数据!' AS result;
ELSE
SELECT '不存在符合条件的数据!' AS result;
END IF;
END;
调用CALL getTable('DPCDB','Station_No','10');
select 'table1' as tb,count(*) from table1 where Station_No=10 union all
select 'table2' as tb,count(*) from table2 where Station_No=10 union all
select 'table3' as tb,count(*) from table3 where Station_No=10 union all
..
select 'tableN' as tb,count(*) from tableN where Station_No=10
在到MYSQL中执行即可。