SQL SERVER获取数据库中所有表名 XTYPE类型

SQL SERVER获取数据库中所有表名 XTYPE类型

2023年7月13日发(作者:)

平常心

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 er=1 then else null end) 表名,

2 er 字段序号, 字段名,

3 (case when COLUMNPROPERTY( ,,'IsIdentity')=1 then '√'else '' end)

标识,

4 (case when (SELECT count(*) FROM sysobjects

5 WHERE (name in (SELECT name FROM sysindexes

6 WHERE (id = ) AND (indid in

7 (SELECT indid FROM sysindexkeys

8 WHERE (id = ) AND (colid in

9 (SELECT colid FROM syscolumns WHERE (id = ) AND (name = )))))))

10 AND (xtype = 'PK'))>0 then '√' else '' end) 主键, 类型, 占用字节数,

11 COLUMNPROPERTY(,,'PRECISION') as 长度,

12 isnull(COLUMNPROPERTY(,,'Scale'),0) as 小数位数,(case when

able=1 then '√'else '' end) 允许空,

13 isnull(,'') 默认值,isnull(g.[value], ' ') AS [说明]

14 FROM syscolumns a

15 left join systypes b on =ype

16 inner join sysobjects d on = and ='U' and <>'dtproperties'

17 left join syscomments e on lt=

18 left join ed_properties g on =_id AND =_id

19 left join ed_properties f on = and _id=0

20 where is not null

21 --WHERE ='要查询的表' --如果只查询指定表,加上此条件

22 order by ,er

对象类型.可以是下列对象类型之一

AF = Aggregate function (CLR)

C = CHECK constraint : check约束

D = Default or DEFAULT constraint:默认值约束

F = FOREIGN KEY constraint :外键约束

L = Log :日志 平常心

FN = Scalar function: 标量函数。

FS = Assembly (CLR) scalar-function:CLR的标量函数(SQL Server 2005以上)

FT = Assembly (CLR) table-valued function:CLR表值函数

IF = In-lined table-function :内联表函数

IT = Internal table:外部表。

P = Stored procedure :存储过程。

PC = Assembly (CLR) stored-procedure:clr存储过程。

PK = PRIMARY KEY constraint (type is K) :主键约束

RF = Replication filter stored procedure

S = System table :系统表

SN = Synonym

SQ = Service queue:服务队列

TA = Assembly (CLR) DML trigger:clr dml触发器。

TF = Table function :表函数。

TR = SQL DML Trigger :SQL DML触发器

TT = Table type:表类型

U = User table :用户表

UQ = UNIQUE constraint (type is K) :唯一约束

V = View :视图

X = Extended stored procedure:扩展存储过程

xtype 类型

34 image

35 text

36 uniqueidentifier

48 tinyint

52 smallint

56 int

58 smalldatetime

59 real

60 money

61 datetime

62 float

98 sql_variant

99 ntext

104 bit

106 decimal 平常心

108 numeric

122 smallmoney

127 bigint

165 varbinary

167 varchar

173 binary

175 char

189 timestamp

231 sysname

231 nvarchar

239 nchar

1.获取所有数据库名:

SELECT Name FROM Master..SysDatabases ORDER BY Name

2.获取所有表名:

SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name

XType='U':表示所有用户表;

XType='S':表示所有系统表;

3.获取所有字段名:

SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')

access :

如果表存在,如何得到这个表?

SELECT * FROM MSysObjects where name='ExamResultTime ' and type=1

and flags=0

//得到该数据库中所有的表名

SELECT name FROM MSysObjects where type=1 and flags=0

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689249693a225750.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信