⑴ sql如何查询表中的字段
方法一:
select name from syscolumns where id = object_id('表名');
方法二:
sp_columns 表名
⑵ mysql中如何使用sql语句取出某个数据表中的所有字段
desc 表名;
就可以列出所有字段信息,包括约束条件。
⑶ 什么SQL语句可以列出表的字段名
SQL SERVER中的语句是
select name
from syscolumns
where id =object_id('表名')
把“表名”替换成实际的表名。
⑷ 怎样用SQL查询一个表的所有字段
可以用一句sql语句查询解决,如要查test表中的所有字段及类型
Selectb.nameasTableName,C.nameASTYPEfromsyscolumnsa,sysobjectsb,systypesc
wherea.id=b.id
andb.type='U'
anda.xtype=c.xtype
andb.name='TEST';
结果截图:
⑸ oracle中怎么用sql查表以及表的字段名
1、用sql查表
查表的时候需要用到user_tables、all_tables,user_tables查出来的是该用户拥有的表,all_tables查出来的是所有用户的表。
2、用sql查表的字段
查表的字段需要用到user_tab_columns、all_tab_columns,一样的前者只能查到该用户拥有的表,后者可以查询所有用户的表。
3、其他
与上面类似的还有查询对象(user_objects、all_objects)、索引(user_indexes、all_indexes)、约束(user_constraints、all_constraints)等。
至于到底怎么查,先用select * from XXX查看表的信息,然后看下就知道了。比如查一个system表dba_data_files的字段,可以用select * from all_tab_columns where table_name = 'DBA_DATA_FILES',注意表名大写。
2014-11-04补充:
下列列出一些比较重要的数据字典:
DBA_TABLES:描述数据库中所有相关的表。
DBA_ALL_TABLES:描述数据库中所有的对象以及相关的表。
USER_TABLES:描述数据库中当前用户拥有的相关的表。
USER_ALL_TABLES:描述数据库中当前用户拥有的对象以及相关的表。
ALL_TABLES:描述数据库中所有的用户可以访问的相关的表。
ALL_ALL_TABLES:描述数据库中所有的用户可以访问的对象以及相关的表。
DBA_TAB_COLUMNS:描述数据库中所有表的列属性。
USER_TAB_COLUMNS:描述数据库中当前用户拥有的表的列属性。
ALL_TAB_COLUMNS:描述数据库中所有用户可以访问的表的列属性。
DBA_CONSTRAINTS:描述数据库中所有表的约束和属性。
DBA_CONS_COLUMNS:包含在DBA_CONSTRAINTS约束定义中的可访问的列的信息。
ALL_CONSTRAINTS:描述数据库中所有用户可以访问的表的约束和属性。
ALL_CONS_COLUMNS:包含在ALL_CONSTRAINTS约束定义的可访问的列的信息。
USER_CONSTRAINTS:描述数据库中所有当前用户拥有的表的约束的属性。
USER_CONS_COLUMNS:包含在USER_CONSTRAINTS约束定义的可访问的列的信息。
DBA_SEQUENCES:数据库中所有序列的描述。
ALL_SEQUENCES:描述数据库中所有用户可以访问的序列的描述。
USER_SEQUENCES:描述数据库中所有当前用户拥有的序列的描述。
DBA_INDEXES:描述数据库中所有的索引的属性。
ALL_INDEXES:描述数据库中所有用户可以访问的索引的属性。
USER_INDEXES:描述数据库中所有当前用户拥有的索引的属性。
⑹ 如何用SQL语句查询一个数据表所有字段的类型
用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
max_length,is_nullable
FROM sys.columns
WHERE object_id=OBJECT_ID(N'Address')
(6)sql列出表的字段扩展阅读:
SQL语句
创建索引:create [unique] index idxname on tabname(col…。)
增加列:Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项
删除索引:drop index idxname on tabname
⑺ 怎么用SQL语句得到一个表的字段数
用一个查询打开表后,可以根据TADOQuery控件的FieldCount属性来获得字段个数。
MySql:='Select * From MyTBName ';
ADOQ_Fields.Close;
ADOQ_Fields.SQL.Clear;
ADOQ_Fields.SQL.Add(MySql);
ADOQ_Fields.Open;
SBar.Panels[2].Text:='共计:'+IntToStr(ADOQ_Fields.FieldCount)+'条字段';
如果你想得到每个字估的类型,可以对字段进行一下遍历。
放一个TValueListEditor控件,命名为VLEditor_Fields,用来存放字段信息。
VLEditor_Fields.Strings.Clear;
For i:=0 to ADOQ_Fields.FieldCount-1 DO
Begin
case ADOQ_Fields.FieldByName(ADOQ_Fields.Recordset.Fields.Item[i].Name).DataType of
ftUnknown: FieldType :='ftUnknown';
ftString: FieldType :='ftString';
ftSmallint: FieldType :='ftSmallint';
ftInteger: FieldType :='ftInteger';
ftWord: FieldType :='ftWord';
ftBoolean: FieldType :='ftBoolean';
ftFloat: FieldType :='ftFloat';
ftCurrency: FieldType :='ftCurrency';
ftBCD: FieldType :='ftBCD';
ftDate: FieldType :='ftDate';
ftTime: FieldType :='ftTime';
ftDateTime: FieldType :='ftDateTime';
ftBytes: FieldType :='ftBytes';
ftVarBytes: FieldType :='ftVarBytes';
ftAutoInc: FieldType :='ftAutoInc';
ftBlob: FieldType :='ftBlob';
ftMemo: FieldType :='ftMemo';
ftGraphic: FieldType :='ftGraphic';
ftFmtMemo: FieldType :='ftFmtMemo';
ftParadoxOle: FieldType :='ftParadoxOle';
ftDBaseOle: FieldType :='ftDBaseOle';
ftTypedBinary: FieldType :='ftTypedBinary';
ftCursor: FieldType :='ftCursor';
ftFixedChar: FieldType :='ftFixedChar';
ftWideString: FieldType :='ftWideString';
ftLargeint: FieldType :='ftLargeint';
ftADT: FieldType :='ftADT';
ftArray: FieldType :='ftArray';
ftReference: FieldType :='ftReference';
ftDataSet: FieldType :='ftDataSet';
ftOraBlob: FieldType :='ftOraBlob';
ftOraClob: FieldType :='ftOraClob';
ftVariant: FieldType :='ftVariant';
ftInterface: FieldType :='ftInterface';
ftIDispatch: FieldType :='ftIDispatch';
ftGuid: FieldType :='ftGuid';
ftTimeStamp: FieldType :='ftTimeStamp';
ftFMTBcd: FieldType :='ftFMTBcd';
else FieldType :='';
end;
VLEditor_Fields.InsertRow(ADOQ_Fields.Recordset.Fields.Item[i].Name,FieldType ,True);
End;
⑻ sql查询表中字段
select * from --主查询
(select namea=c.name from syscolumns c,sysobjects o where o.id=c.id and o.xtype='u' and o.name='tablea') a--A表中所有字段
full join --使用全连接
(select nameb=c.name from syscolumns c,sysobjects o where o.id=c.id and o.xtype='u' and o.name='tableb') b--B表中所有字段
on namea=nameb where namea is null or nameb is null--只保留不同的字段
查询结果是,两表不同的字段列出,两表均有的字段不列:
NAMEA,NAMEB
FIELD1 NULL
FIELD2 NULL
NULL FIELD3
NULL FIELD4