数据库中的关键字具体指的是什么

数据库中的关键字具体指的是什么,第1张

关键字是惟一能标识一个记录的数据项

在数据库中一个表或一个文件中可能存储着很多记录,为了能惟一地标识一个记录,必须在一个记录的各个数据项中,确定出一个或几个数据项,把它们的集合称为关键字。通常,只需用一个数据项作为关键字。但是为了将数据之间的关系连续起来,记录可以有多个关键字。

扩展资料:

通过关键字可以知道哪些文件和表是有联系的,可以为有关数据库 *** 作和数据分析提供方便,例如常见表的合并;还通过关键字来测试系统存取效率。关键字的速度与数据库文件的逻辑结构和物理结构有关。

关键字的多少与文件是单关键字文件还是多关键字文件有关。若文件中的一个记录只有一个惟一标识记录的主关键字,则称单关键字文件;若文件中的记录除了含有一个主关键字外,还含有若干个次关键字,则称为多关键字文件。

用游标循环以下,可能效率有点低,以下是我写的一个存储过程语句供参考

--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 @@FETCH_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


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

原文地址: https://outofmemory.cn/sjk/10835032.html

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

发表评论

登录后才能评论

评论列表(0条)

保存