获取SQL_Server中的所有数据库用户,数据表,列,备注说明,主外键_第1页
获取SQL_Server中的所有数据库用户,数据表,列,备注说明,主外键_第2页
获取SQL_Server中的所有数据库用户,数据表,列,备注说明,主外键_第3页
获取SQL_Server中的所有数据库用户,数据表,列,备注说明,主外键_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

检索SQL_Server的所有数据库用户、数据表、列、注释说明和主外键获取SQL Server中所有数据库、数据表、列和注释的说明在MS SQL Server中,可以使用以下语句查询相关系统信息使用:selectnamefromsysobjectswherextype=u;可以获取所有用户表的名称- -selectnamefromsysobjectswherextype=s;获取所有系统表的名称相应地,使用如下:select count (* )-1 fromsysobjectswherextype=u;得到用户表的张数。SQLServer2000可能是SQLServer2000中的错误,因为系统表3360 dt属性已被标记为用户表。 在2005,该表被不存在的表:sysdiagram所代替,该表用于存储数据关系图可通过:Select version;查询数据库的版本-SQL server 2000 sysproperties表中的type=3表示当前对象为“表”,type=4表示“字段”SQL server 2005 sys.extended _ properties表中的minor_id=0表示当前对象为“表”,minor_id 0为“字段”可以通过以下语句提取存储在名为sysproperties的系统表中的用户表说明和列说明select ,sysproperties.Value来自sysproperties,sysobjectswhere sysproperties.id=sysobjects.idand =ms _ descriptionand sysproperties.type=3order by 在此表中,id列对应于sysobjects列,如果表的type值为3,则说明表;如果表的type值为4,则说明列-1 .获取所有数据库名称:selectnamefrommaster.sys.databasesorderbyname-2 .获取所有表名:select name from . sysobjectswherextype=uorderbyname-XType=U:表示所有用户表-XType=S:表示所有系统表-3 .获取所有字段名和说明: (server 2000 )SELECT ,sysproperties.value AS Commentfromsypropertioningsyobjectsonsysproperties.id=sysobjects.idinnerjoinsyscolumnsonsysobjects.id=syscolumns.idandsysproperties.smallid=syscolumns.colidwhere (sysproperties.type=4)和(=message )-获取表的字段信息(主键、字段名、数据类型、字段长度、列说明)选择(选择)(casewhenpkeycol.column _ nameisnullthenelsepkend )(casewhenkeycol2. column _ nameisnullthen )whennotpkeycol.column _ nameisnullthen,FK else FK end) as 主键/外键col.COLUMN_NAME as栏位名称DATA_TYPE as DataType(casewhencharacter _ maximum _ lengthisnullthenelsecast (character _ maximum _ lengthasvarchar (50 ) )结束) as字段长度(casewhencoldesc.valueisnullthenelsecoldesc.value end ) as字段的说明,* .是is null (cast (col desc. value as nvarchar (50 ) ),as字段的说明from information _ schema.columnsascol左上角join(从select COLUMN_NAME,TABLE_NAME FROM )information _ schema.key _ column _ usage keycolleftouterjoininformation _ schema.referrential _ constraintrefcolonkeycol.constraint _ catalog=ref col.constraint _ catalog andkeycol.constraint _ name=ref col.constraint _ namewhererefcol.constraint _ name is null ) pkey colONP keycol.column _ name=col.column _ nameandpkeycol.table _ name=col.table _ name左上角join(information _ schema.key _ column _ usage keycol2)innerjoininformation _ schema.referrential _ constraintrefcol2onkeycol2. constraint _ catalog=ref col2. constraint _ catalog andkeycol2. constraint _ name=ref col2. constraint _ name )on keycol2. column _ name=col.column _ nameandkeycol2. table _ name=col.table _ nameleftouterjoin :6030 fn _ listextenstionproperty (null,user,dbo,table, tablename ,column,default) as coldesconcol.column _ name=col desc.objnamecollatechinese _ PRC _ ci _ aswhere col.TABLE_NAME= tableName 将tableName替换为要查询的表名即可-获取表中的所有信息。 没有字段说明exec sp_columns tableName -获取表中主键的字段select column _ nameaskeynamefrominformation _ schema.key _ column _ usagekeycolleftouterjoininformation _ schema.referrential _ constrainter nt _ catalog=ref col.constraint _ catalogandkeycol.constraint _ name=ref col.constraint _ namewhererefcol.constraint _ nameisnullandkeycol-获取表中字段的信息(列名、数据类型、长度和字段说明)select ccol.column _ nameasfieldname,DATA_TYPE as DataType, (casewhencharacter _ maximum _ lengthisnullthenelsecast (character _ maximum _ lengthasvarchar (50 ) ) end ) asfieldlength is null (cast (调用台) asifieldexplainformation _ schema.columnsascolleftouterjoin :30 fn _ listextenstionproperty (空值,用户,dbo,表,表名,调用) default ) ascoldesconcol.column _ name=col desc.objnamecollatechinese _ PRC _ ci _ aswherecol.table _ name= tablename - -检索数据库文件信息:select * from sys.database_files-可以使用内置存储过程sp_MShelpcolumns查询表的结构。查询表B_RWZL的结构:sp_MShelpcolumns dbo.B_RWZL=等(1)选择(选择)表名=casewhena.colorder=1else end表格说明=casewhena.colorder=1then is null (f.value,) else end字段编号=a.colorder字段名==case when COLUMNPROPERTY(a.id,,IsIdentity)=1 then else end主键=casewhenexists (选择1 fromsysobjectswherextype=pkandparent _ obj=a.idcandnamein (selectnamefromsysindexeswhereindidinin (selectindfromsysindexksyswhereid=a.idcandcolid=a.colidthen else end类型=占用字节数=a.length长度=列属性(a.id,,PRECISION )小数位数=is null (列属性(a.id,,Scale ),0 )空=casewhena.is nullable=1thenelse end默认值=isnull(e.text,)字段说明=isnull(g.value,)来自syscolumns aleftjoinsystypesbtona.xusertype=b.xusertypeinnerjoinsysobjectsdona.id=d.id和. xtype=uan DD.namedtpropertiesleftjoinsyscommentseona.cdefault=e.idleftjoinsyspropertiesgona.id=g.id anda.colid=g.smallidleftjoinsyspropertiesond.id=f.idcandf.smallid=0-where =要查询的表-添加此条件以仅查询指定的表order by a.id,a.colorder(2)应用SQL2000系统表-1 :检索当前数据库中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论