怎样搜索多个数据库(数据库查询多个数据)
温馨提示:这篇文章已超过788天没有更新,请注意相关的内容是否还可用!
mysql数据库如何用一条语句同时查多个数据库
1. 子查询 ***
select *
from DB2.table2
where 字段 in (select table1中相应字段 from DB1.table1 where table1中相应字段=相应值)
2. 左连接 ***
select table2.*
from DB2.table2 left join DB1.table1
on table1.字段 = table2.相应字段
where table2.相应字段 = 相应值;
2. 交叉连接 ***
select table2.*
from DB2.table2, DB1.table1
where table1.字段 = table2.相应字段 and table2.相应字段 = 相应值;
mysql如何实现多个数据库查询
1: $sql = show databases like 'gunsoul%' ; //查出所有的库名
2 循环库名拼接SQL语句
$sql2 ='';
foreach($databases as $db){
$sql2 .="select * from $db.table union";
}
3 执行sql2打印结果
对整个数据库进行搜索的 ***
理论上,要针对所有的表各写一条SQL,SQL中要列出所有的字符类字段,例如:
SELECT * FROM taba WHERE fielda LIKE '%abc%' OR fieldB LIKE '%abc%' ……;
SELECT * FROM tabb WHERE fielda LIKE '%abc%' OR fieldB LIKE '%abc%' ……;
写这样的SQL非常痛苦,看你是用的什么数据库,许多数据库系统有系统字典,就是在数据库里面的某些表中存放着所有的数据库、表、字段的名称和类型,那样可以通过那些信息编写出自动生成前面的SQL语句的SQL语句。
另外,一般的数据库都是存放在文件中或者磁盘上,可能利用全盘搜索软件搜索磁盘上特定的字符串,比上述SQL语句要快得多,只是搜索到了,要判断数据库行有一些麻烦。