A. sql 数据库中所有表中查询关键字
用游标循环以下,可能效率有点低,以下是我写的一个存储过程语句供参考
--exec searchkeyword '物理'
Create proc searchkeyword(@keyword varchar(100))
as
begin
declare @tablename varchar(100),@colname varchar(100),@sql nvarchar(2000),@cou int
create table #t
(
tablename varchar(100),
colname varchar(100)
)
declare c1 cursor for
select a.name as TableName,b.name as ColName From sysobjects a
inner join syscolumns b on (a.id=b.id)
where a.xtype='U'
open c1
fetch next from c1 into @tablename,@colname
WHILE @@_STATUS = 0
begin
set @sql='select @count=count(*) from '+@tablename+' where '+@colname+'=@keyword'
begin try
exec sp_executesql @sql, N'@count int out,@keyword varchar(20)', @cou out ,@keyword
end try
begin catch
set @cou=0
end catch
if @cou>0
begin
insert into #t values(@tablename,@colname)
end
fetch next from c1 into @tablename,@colname
end
CLOSE c1
DEALLOCATE c1
select * from #t
end
B. 数据库中的关键字具体指的是什么
关键字是惟一能标识一个记录的数据项。
在数据库中一个表或一个文件中可能存储着很多记录,为了能惟一地标识一个记录,必须在一个记录的各个数据项中,确定出一个或几个数据项,把它们的集合称为关键字。通常,只需用一个数据项作为关键字。但是为了将数据之间的关系连续起来,记录可以有多个关键字。
(2)数据库用哪个关键字查找扩展阅读:
通过关键字可以知道哪些文件和表是有联系的,可以为有关数据库操作和数据分析提供方便,例如常见表的合并;还通过关键字来测试系统存取效率。关键字的速度与数据库文件的逻辑结构和物理结构有关。
关键字的多少与文件是单关键字文件还是多关键字文件有关。若文件中的一个记录只有一个惟一标识记录的主关键字,则称单关键字文件;若文件中的记录除了含有一个主关键字外,还含有若干个次关键字,则称为多关键字文件。
C. mysql数据库如何搜索关键词
办法如下:
select * from table1 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table2 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table3 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table4 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table5 where concat(`字段`,`字段`,`字段` ) like '%关键字%'
前提是查询出来的字段个数要一样,类型要对应好,至于如何得到正确且符合你需要的sql就要在程序类中处理了。