查询出Mysql数据库中一个表的所有字段

查询出Mysql数据库中一个表的所有字段,第1张

--通过如下语句得到当前Sql server中所有的数据的名称:

use master

select [name] from [sysdatabases] order by [name]

go

-- 查询数据库中的所有用户表

use [DBname]

select [id], [name] from [sysobjects] where [type] = 'u' order by [name]

--通过上面的查询的id,可以查出这个表中所有的字段,例如我们查询BaseData表中所有的字段,就可以通过下面的语句查出:

select [name] from [syscolumns] where [id] = 2087000699 order by [colid]

go

你所说的问题的语句是:

select [name], from [syscolumns] order by [id]

这里涉及到两个系统视图的应用dba_tab_cols和user_tab_cols;

dba_tab_cols包含所有用户下表字段信息;user_tab_cols包含当前用户下表信息;使用tba_tab_clos查询表字段类型需要指定owner(用户)

上述两个表中,table_name,column_name,data_type就可以满足需要查询表字段类型了,具体类型对应其他字段还有另外定义,比如varchar2,date,number还对应在data_length字段有值,说明类型其长度

user_tab_columns和user_tab_cols都可以满足问题要求,但是两张视图还是有区别的,主要是包含字段的区别等,具体区别可以度娘哈,这里就不赘述。

直接的方法肯定是没有的,但是你可以根据字段的字面意思选中一些有可能的表,排除掉一些表,把范围缩小先,再去查。或者说,sql2000中不想Oracle,自己就有表的直观图,很方便就能找到(表不是太多的话,如果表太多,哪工作量肯定大的。)

select name from sysobjects where id in (select id from syscolumns where name='你要查找的字段名')

这样不单可以确定这个字段是否存在。并且可以得出拥有这个字段的所有表名~~~~

一般的可以这样写:

select

from

你的表名

where

想查找的字段名

='想查找的值'

要注意的事项,如果[想查找的值]为文本时

注意要使用

单引号''

括起来

数值不用,日期要使用##

括起来

1、MySQL数据库查询带有某个字段的所有表名:

SELECT FROM information_schemacolumns WHERE column_name='column_name';

2、Oracle数据库查询带有某个字段的所有表名:

SELECT column_name,table_name FROM user_tab_columns WHERE column_name='column_name';

3、SQLServer数据库查询带有某个字段的所有表名:

SELECT [name] FROM [库名][dbo]sysobjects WHERE id IN (SELECT id FROM [库名][dbo]syscolumns WHERE name = '字段名')

4、然后这样就完成了。

以上就是关于查询出Mysql数据库中一个表的所有字段全部的内容,包括:查询出Mysql数据库中一个表的所有字段、如何查询oracle数据库表字段、如何查询出一个数据库中的某个表中的某个字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存