本文向大家介绍了使用SQL语句提取数据库所有表的表名,字段名的实例代码,在中状态"置疑"进行了测试,具体内容如下:
——查询所有用户表所有字段的特征 选择D。名称的表,。colorder colorder, A.name作为名称, COLUMNPROPERTY (A.ID。的名字,像IsIdentity IsIdentity), 当存在 (选择1 从dbo.sysobjects Xtype=癙K”和名字 (选择名称 从sysindexes indid在 (选择indid 从sysindexkeys ID=D和colid=A.colid))) 那么其他1 0结束是主键, B.name作为类型, 一个。长度(长度), 一个。xprec作为[精度), 一个。xscale作为[小数), 当一个案例。其他isnullable=1 1 0结束(可为空), ISNULL (E。文本”、“)(默认值), ISNULL (G。(值)”、“)[说明) dbo。syscolumns左外连接 dbo。systypes B> ——查询所有用户表所有字段的特征 选择 (当一个。colorder=1那么其他d.name”结束)作为表名,——如果表名相同就返回空 一个。colorder作为字段序号, a.name作为字段名, (案例当COLUMNPROPERTY (a.id a.name, IsIdentity)=1“√”其他“结束)标识, 当你(SELECT count (*) (sysobjects——查询主键 (名称在 (从sysindexes选择名称 (id=a.id)和(indid (从sysindexkeys选择indid (id=a.id)和(colid (从syscolumns选择colid (id=a.id)和(name=a.name)) ))))) 和(xtype=PK))在0然后“√”其他“结束)主键,——查询主键结束 b.name作为类型, 一个。长度占用字节数, COLUMNPROPERTY (a.id a.name,“精度”)作为长度, isnull (COLUMNPROPERTY (a.id a.name,“规模”),0)作为小数位数, (当一个。isnullable=1“√”其他“结束)允许空, isnull (e。文本”)作为默认值, isnull (g。(价值),”)字段说明 从syscolumns左加入systypes b 在a.xtype=b.xusertype 内连接sysobjects d a.id=d。id和d。xtype=' U ' d.name<比;“dtproperties” 离开加入syscomments e 在a.cdefault=e.id 加入系统。extended_properties g a.id=g。major_id和。colid=g.minor_id ——d.name=癙E_U_ValliMessage”——所要查询的表 订单由a.id a.colorder
- - - - - -提取某个表的字段名
选择 (当一个。colorder=1那么其他d.name”结束)N的表名”, 一个。colorder N”字段序号”, a.name N”字段名”, isnull (g(价值),”)当N’字段说明”, (案例当COLUMNPROPERTY (a.id a.name, IsIdentity)=1那么其他‘√’” 结束)N的标识”, (当选择count (*) 从sysobjects (名称在 (选择名称 从sysindexes (id=a.id)和(indid (选择indid 从sysindexkeys (id=a.id)和(colid (选择colid 从syscolumns (id=a.id)和(name=a.name)))))))和 (xtype=PK))在0然后“√”其他“结束)N“主键”, b.name N”类型”, 一个。长度N”占用字节数”, COLUMNPROPERTY (a.id a.name‘精确’)N的长度”, isnull (COLUMNPROPERTY (a.id a.name,“规模”),0)N '小数位数”, (当一个。isnullable=1“√”其他“结束)N的允许空”, isnull (e.text”) N”默认值” 从syscolumns 离开加入systypes b 在a.xtype=b.xusertype 内连接sysobjects d a.id=d。id和d。xtype=' U ' d.name<在“dtproperties” 离开加入syscomments e 在a.cdefault=e.id 加入系统。extended_properties g a.id=g。major_id和。colid=g.minor_id ——条件输入表名 在d.name=' ConsumeBillBody ' order by object_name (a.id) a.colorder
以上就是本文关于SQL提取数据库表名及字段名等信息代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:SQL注入原理与解决方法代码示例,MySQL删除有外键约束的表数据方法介绍,几个比较重要的MySQL变量等,有什么问题可以随时留的言,小编会及时回复大家的。感谢朋友们对本站的支持!