通过SQL获取MSSQL的数据库相关信息

来源:互联网 发布:谭浩强c语言视频讲解 编辑:程序博客网 时间:2024/05/01 22:35

获取SQL所有数据库名、所有表名、所有字段名、表字段长度

--得到数据库中所有的表SELECT SysObjects.name AS Tablename FROM sysobjects WHERE xtype = 'U' and sysstat<200--得到数据库中所有表的列名SELECT SysColumns.name AS Columnsname, SysObjects.name AS Tablename FROM SysObjects, SysColumns WHERE Sysobjects.Xtype='u' AND Sysobjects.Id=Syscolumns.Id--获取SQL所有数据库名、所有表名、所有字段名、表字段长度--[转自] http://www.cnblogs.com/nobugs/archive/2007/12/25/1013649.html--1.获取MSSQL中的所有数据库名:SELECT name FROM MASter..SysDatabASes ORDER BY name--2.获取MSSQL中的所有用户表名: SELECT name FROM DatabASename..SysObjects WHERE XType='U' ORDER BY name --XType='U':表示所有用户表;--XType='S':表示所有系统表;--3.获取指定表[tb_phone]的所有字段名: SELECT name FROM SysColumns WHERE id=Object_Id('tb_phone')--4.SQL所有表的表名、所有字段名、表字段长度SELECTtable_name AS 数据表名,column_name AS 字段名,ISNULL(column_default,'') AS 默认值,is_nullable AS 是否允许为NULL,data_type AS 数据类型,ISNULL(ISNULL(ISNULL(character_maximum_length,numeric_precision),datetime_precision),1) AS 类型长度FROM information_schema.columns WHERE NOT table_name IN('sysdiagrams','dtproperties')--5.获取指定表[tb_phone]的表名,表字段名,字段类型和类型长度SELECT SysObjects.name AS Tablename,Syscolumns.name AS Columnsname,       Systypes.name AS DateType,Syscolumns.length AS DateLengthFROM Sysproperties RIGHT OUTER JOIN       Sysobjects INNER JOIN       Syscolumns ON Sysobjects.id = Syscolumns.id INNER JOIN       Systypes ON Syscolumns.xtype = Systypes.xtype ON        Sysproperties.id = Syscolumns.id AND        Sysproperties.smallid = Syscolumns.colidWHERE (Sysobjects.xtype = 'u' OR       Sysobjects.xtype = 'v') AND (Systypes.name <> 'Sysname') AND        (Sysobjects.name = 'tb_phone')ORDER BY Columnsname
原创粉丝点击