请问怎么在数据库所有表中查找一个字段的值

请问怎么在数据库所有表中查找一个字段的值,第1张

当只知道字段名,而不知其属于哪个表时,可通过以下方法先获得其所属的表,再查询该字段值:

oracle数据库

select table_name from user_tab_columns where column_name='字段名'

sqlserver数据库

select cobject_id,cname,oobject_id,oname from syscolumns c

left join sysobjects o

on cobject_id=oobject_id

where otype='U' and cname='字段名'

说明:

如果此字段名在多张表中存在,则需要自行判断要查询的表。

sql字段有逗号隔开,数据取值的方法。

如下参考:

1查询数据库表的所有字段,直接使用select语句,如下图。

2查询数据库表部分的字段,可以使用select字段命令,从数据库表中选择字段名度。

3根据查询的条件,在where之后使用条件,从数据库表中选择字段名所在的条件。

4使用distinct命令查询数据库字段,以记录未重复的结果,如下图所示。

5查询数据库表数据之前有多少条,可以使用top命令,从数据库表中选择号。

6查询数据库表有时为了区分字段,需要回答字段名,可以用as,从数据库表中选择字段名作为字段名。

--建立测试表

tableA

(type=“书籍”的不足100条),tableB

(type=“书籍”的多于100条)

create

table

tableA(id

int

identity(1,1),type

nvarchar(8))

create

table

tableB(id

int

identity(1,1),type

nvarchar(8))

go

--向表tableA循环插入测试语句

declare

@a

int

set

@a=0

while

(@a<120)

begin

if

@a<20

insert

into

tableA(type)values('报刊')--20本是'报刊'

else

if

@a<40

insert

into

tableA(type)values('光盘')--20本是'光盘'

else

if

@a<60

insert

into

tableA(type)values('漫画')--20本是'漫画'

else

if

@a<80

insert

into

tableA(type)values('书籍')--20本是'书籍'

else

if

@a<100

insert

into

tableA(type)values('其它')--20本是'其它'

else

insert

into

tableA(type)values('杂志')--20本是'杂志'

set

@a=@a+1

end

go

--向表tableB循环插入测试语句

declare

@b

int

set

@b=0

while

(@b<120)

begin

insert

into

tableB(type)values('书籍')--全部是'书籍'

set

@b=@b+1

end

go

--查看表tableA,tableB中的数据

select

from

tableA

select

from

tableB

/查看你要看的的数据/

--方法一,用

charindex

函数(当然函数里面的顺序可以根据自己要求改变)

select

top

100

from

tableA

order

by

charindex(type,'书籍报刊漫画杂志光盘其它')

--方法二,如果在不想用函数可以同一楼一样用下面的方法

select

top

100

from

tableA

order

by

case

when

type='书籍'

then

1

when

type='报刊'

then

2

else

3

end

--tableB表同上

--查看完后删除测试表

drop

table

tableA

drop

table

tableB

数据我已经测试过了,没问题

最后求赏~~

被设置为"自动编号"数据类型的字段,每张表只允许有一个此类型字段,其取值由系统自动确定,其数字值随着记录的新增而加大,不会有重复,用户无法修改。

在表的设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查询向导。

扩展资料:

Access数据库字段类型,具体如下:

1、文本型(Text):用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。

2、货币型(Currency):用来存储货币值,占8个字节,在计算中禁止四舍五入。

3、数字型(Number):用于可以进行数值计算的数据,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。

4、日期/时间型(Date/Time):用于存储日期和(或)时间值,占8个字节。

5、自动编号型(AutoNumber):用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能更新。

6、是/否型(Yes/No):用于表示逻辑值(是/否,真/假),占1个字节。

7、备注型(Memo):用于长文本或长文本与数字(大于255个字符)的结合,最长为65535个字符。

8、OLE对象型(OLE Object):用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、、声音等),最多存储1GB(受磁盘空间限制)。

9、超级链接型(Hyper Link):用于存放超级链接地址,最多存储64000个字符。

10、查阅向导型(Lockup Wizard):让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。

查询 MySql 数据库中所有表名:

select table_name from information_schematables where table_schema='当前数据库名' and table_type='base table';

查询 MySql 指定数据库中指定表的所有字段名:

select column_name from information_schemacolumns where table_schema='当前数据库名' and table_name='指定的表名';

扩展资料

查询所有数据库

show databases;

查询指定数据库中所有表名

select table_name from information_schematables where table_schema='database_name' and table_type='base table';

查询指定表中的所有字段名

查询指定表中的所有字段名和字段类型

select column_name,data_type from information_schemacolumns where table_schema='database_name' and table_name='table_name';

以上就是关于请问怎么在数据库所有表中查找一个字段的值全部的内容,包括:请问怎么在数据库所有表中查找一个字段的值、sql字段里有逗号隔开的数据,怎么取值、数据库取值的sql语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存