sql 查询表中所有字段的名称

最近工作用到SQL语句查询表中所有字段的名称,网上查询,发现不同数据库的查询方法不同,例如:

SQL server

查询表的所有字段名称:
Select name from syscolumns Where ID=OBJECT_ID(‘表名‘)

Sqlite

查询表中所有字段名称;

SELECT name FROM sqlite_master WHERE type=’table’ ORDER BY name;

Oracle
查看所有字段

select column_name from user_tab_columns where table_name=‘ZW_YINGYEZ‘

考虑到SQL语句的通用性,结合抽象工厂模式,个人结合DataTable、DataSet和基本的SQL语句,设计了一个通用的方法:

List<string> filedList = new List<string>();
DataSet ds = _autoTestSQL.ReadMethod(string.Format("select * from {0} order by [AutoId]", 表名));
DataTable dt = new DataTable();
dt.Clear();
dt = ds.Tables[0];

for (int j = 0; j < dt.Columns.Count; j++)
{
filedList.Add( dt.Columns[j].ColumnName.Trim() );
}

return filedList;//所有表的字段列表

这样,就间接的得到所有的字段;

时间: 2024-10-11 20:21:12

sql 查询表中所有字段的名称的相关文章

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型? 这个就有点恼了,作为新手面对这些问题真有点难,这个也是我在百度上查到的,作为基础的整理吧,以后遇到方便查看. 用SQL语句:alter table [aa] alter column bb int eg: 这个是我的例子. 执行成功可以刷新一下数据库(如还是不可以,那就断开现有连接,再次连接就好.)

sql语句查询表中重复字段以及显示字段重复条数

今天跟大家分享两条SQL语句,是关于查询某表中重复字段以及显示该字段的重复条数. 1.select * from 表名 where 列名 in (select 列名 from 表名 group by 列名 having COUNT(*)>1) order by 列名 运行结果: 注*将表中某列下所有重复的字段查询出来,如果想查询该列中重复条数>=n的话,只需将sql语句中的">1"改为"n-1"即可. 2.select 列名,count(*) CO

Microsoft SQL Server中条件字段是Nvarchar类型的,条件有中文的无法查询的原因及处理方法

条件中带的是中文无法查询出,因为字段sender_su_name是nvarchar类型的,需要前面接个N SELECT * FROM [test].[dbo].[Ship_User_Email]  WHERE [sender_su_name]=N'奖励' 为什么要带N如下解释: 使用 Unicode 数据 Unicode 标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案.所有的计算机都用单一的 Unicode 标准 Unicode 数据中的位模式一致地翻译成字符.这保证了同一个位模

巧用C# Split()函数获取SQL语句中操作字段

这是前天工作时要求的,将SQL语句的操作字段获取出来挂在树节点上,感觉这个函数以后还有可能会用到,特此总结一下,函数中没有实现Select *的操作,只要添加判断条件即可. 工具函数:Split()函数:通过字符分割字符串为一个string类型的一维数组. String.Split 方法有6个重载函数: 1) public string[] Split(params char[] separator)        返回的字符串数组包含此实例中的子字符串 2) public string[] S

SQL数据库中各种字段类型的说明

(1)char.varchar.text和nchar.nvarchar.ntext     char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据.所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度:而变长字符数据则不会以空格填充.text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符. 后面三种数据类型和前面的相比,从名称

SQL查询表的所有字段名

SQL SERVER 查看所有表名: select name from sysobjects where type='U' 查询表的所有字段名: Select name from syscolumns Where ID=OBJECT_ID('表名') select * from information_schema.tables select * from information_schema.views select * from information_schema.columns MySq

sql查询表的所有字段和表字段对应的类型

1.查询表的所有字段 select syscolumns.name from syscolumns where id=object_id('写上要查询的表名') 2.查询表的所有字段+表字段对应的类型 select syscolumns.name,systypes.name from syscolumns,systypes where syscolumns.xusertype=systypes.xusertype and syscolumns.id=object_id('写上要查询的表名') 3

SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称

1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 3.查询表结构信息: 1 SELECT (case when a.colorder=1 then d.name else null end) 表名, 2 a.colorder 字段序号,a.name 字段名, 3

SQL查询表中的有那些索引

方法1. 使用系统表 -- 查询一个表中的索引及索引列 USE AdventureWorks2008 GO SELECT indexname = a.name , tablename = c. name , indexcolumns = d .name , a .indid FROM sysindexes a JOIN sysindexkeys b ON a .id = b .id AND a .indid = b.indid JOIN sysobjects c ON b .id = c .id