sql语句如何取得数据库中表的字段信息

sql语句如何取得数据库中表的字段信息,第1张

select from 表名 where ‘列名1’=‘值’,'列名2'='值'

例如从一个学生成绩表(course)中查找语文不及格的学生

select from course

where ‘语文’<60

用一个查询打开表后,可以根据TADOQuery控件的FieldCount属性来获得字段个数。

MySql:='Select From MyTBName ';

ADOQ_FieldsClose;

ADOQ_FieldsSQLClear;

ADOQ_FieldsSQLAdd(MySql);

ADOQ_FieldsOpen;

SBarPanels[2]Text:='共计:'+IntToStr(ADOQ_FieldsFieldCount)+'条字段';

如果你想得到每个字估的类型,可以对字段进行一下遍历。

放一个TValueListEditor控件,命名为VLEditor_Fields,用来存放字段信息。

VLEditor_FieldsStringsClear;

For i:=0 to ADOQ_FieldsFieldCount-1 DO

Begin

case ADOQ_FieldsFieldByName(ADOQ_FieldsRecordsetFieldsItem[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_FieldsInsertRow(ADOQ_FieldsRecordsetFieldsItem[i]Name,FieldType ,True);

End;

sql server 中获取SQL字段默认值 ,获取所有的默认值列表:select object_name(cid) as 表名 ,cname as 字段名 ,tname as 数据类型 ,cprec as 长度 ,pvalue as 字段说明 ,mtext as 默认值 from syscolumns c inner join systypes t on cxusertype=txusertype left join sysproperties p on cid=pid and ccolid = psmallid left join syscomments m on ccdefault=mid 研究了很久 终于搞定了获取单个SQL字段默认值列表select object_name(cid) as 表名 ,cname as 字段名 ,tname as 数据类型 ,cprec as 长度 ,pvalue as 字段说明 ,mtext as 默认值 from syscolumns c inner join systypes t on cxusertype=txusertype left join sysproperties p on cid=pid and ccolid = psmallid left join syscomments m on ccdefault=mid where objectproperty(cid,'IsUserTable')=1 and object_name(cid) = 'T_good' and cname = 'ishot'

sql取时间字段中年月日的值的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上相应的sql表。

2、点击“查询”按钮,输入:SELECT date_format(add_time, '%Y') as year, date_format(add_time, '%m') as month, date_format(add_time, '%d') as day FROM test;。

3、点击“运行”按钮,时间字段的年月日就被取出了。

select b[value] from syscolumns a left join sysextended_properties b on aobject_id=bmajor_id

and acolumn_id=bminor_id inner join sysobjects c on acolumn_id=cid

and a[name]='列名' and c[name]='表名'

SELECT

表名=case when acolorder=1 then dname else '' end,

表说明=case when acolorder=1 then isnull(fvalue,'') else '' end,

字段序号=acolorder,

字段名=aname,

标识=case when COLUMNPROPERTY( aid,aname,'IsIdentity')=1 then '√'else '' end,

主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (

SELECT name FROM sysindexes WHERE indid in(

SELECT indid FROM sysindexkeys WHERE id = aid AND colid=acolid

))) then '√' else '' end,

类型=bname,

占用字节数=alength,

长度=COLUMNPROPERTY(aid,aname,'PRECISION'),

小数位数=isnull(COLUMNPROPERTY(aid,aname,'Scale'),0),

允许空=case when aisnullable=1 then '√'else '' end,

默认值=isnull(etext,''),

字段说明=isnull(g[value],'')

FROM syscolumns a

left join systypes b on axusertype=bxusertype

inner join sysobjects d on aid=did and dxtype='U' and dname<>'dtproperties'

left join syscomments e on acdefault=eid

left join sysextended_properties g on aid=gmajor_id and acolid=gminor_id

left join sysextended_properties f on did=fmajor_id and fminor_id=0

--where dname='orders' --如果只查询指定表,加上此条件

order by aid,acolorder

使用类似如下语句找出 某个表中 某个字段 在你的某条件下,为最大的一条记录:

SELECTMAX(字段)FORM表格1WHERE你的条件

--或用下面查看这条记录里所有的字段的情况

SELECTFORM表格1WHERE字段IN(SELECTMAX(字段)FORM表格1WHERE你的条件)

至于 “及明细”,就不知道你是什么想法了,如果是所有记录,那就直接列出所有记录就好:

SELECTFORM表格1WHERE你的条件

即:select max(Age) from Student

用max函数可以计算出相应字段的最大值

以上就是关于sql语句如何取得数据库中表的字段信息全部的内容,包括:sql语句如何取得数据库中表的字段信息、怎么用SQL语句得到一个表的字段数、教您如何获取SQL字段默认值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9307551.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存