对整个数据库进行搜索的方法

对整个数据库进行搜索的方法,第1张

理论上,要针对所有的表各写一条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语句要快得多,只是搜索到了,要判断数据库行有一些麻烦。

1-------(SELECT 表1.title FROM 表1 WHERE 表1.title LIKE '%$keyword%') UNION (SELECT 表2.title FROM 表2 WHERE 表2.title LIKE '%$keyword%')

2-------Select * From

(Select * From Table1 Where Name='sa'

Union All

Select * From Table2 Where Name='sa'

Union All

Select * From Table3 Where Name='sa') A


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9587629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存