--通过如下语句得到当前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数据库表字段、如何查询出一个数据库中的某个表中的某个字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)