发布网友 发布时间:2022-04-28 11:15
共3个回答
懂视网 时间:2022-04-30 09:03
SELECT * FROM sysobjects WHERE (xtype = ‘U‘)
C = CHECK 约束
D = 默认值或 DEFAULT
约束
F = FOREIGN KEY
约束
L = 日志
FN =
标量函数
IF =
内嵌表函数
P =
存储过程
PK = PRIMARY KEY
约束(类型是 K)
RF =
复制筛选存储过程
S = 系统表
TF =
表函数
TR =
触发器
U = 用户表
UQ = UNIQUE 约束(类型是
K)
V = 视图
X =
扩展存储过程
【转】sqlserver查询数据库中有多少个表
标签:
热心网友 时间:2022-04-30 06:11
1、查询SQL中的所有表:SelectTABLE_NAMEFROM数据库名称.INFORMATION_SCHEMA.TABLESWhereTABLE_TYPE='BASETABLE'执行之后,就可以看到数据库中所有属于自己建的表的名称2、查询SQL中所有表及列:Selectdbo.sysobjects.nameasTable_name,dbo.syscolumns.nameASColumn_nameFROMdbo.syscolumnsINNERJOINdbo.sysobjectsONdbo.syscolumns.id=dbo.sysobjects.idWhere(dbo.sysobjects.xtype='u')AND(NOT(dbo.sysobjects.nameLIKE'dtproperties'))3、在Sql查询分析器,还有一个简单的查询方法:EXECsp_MSforeachtable@command1="sp_spaceused'?'"执行完之后,就可以看到数据库中所有用户表的信息4、查询总存储过程数:selectcount(*)总存储过程数fromsysobjectswherextype='p'附:xtype类型D=默认值或DEFAULT约束F=FOREIGNKEY约束L=日志FN=标量函数IF=内嵌表函数P=存储过程PK=PRIMARYKEY约束(类型是K)RF=复制筛选存储过程S=系统表TF=表函数TR=触发器U=用户表UQ=UNIQUE约束(类型是K)V=视图X=扩展存储过程另:在sqlserver中取得某个数据库中所有表名的sql语句selectsysobjects.namefromsysobjects.xtype='U';SELECTnameWHERE(xtype='U')在数据库的sysobjects表里有这个数据库全部表的信息,xtype值为'U'的就是表名注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER默认它也是用户表,想要从用户表中排出,需要加上限定条件status>0,即:select*fromsysobjectswherextype='U'andstatus>0热心网友 时间:2022-04-30 07:29
select * from sys.tables