Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。

来源:互联网 发布:哈曼卡顿和bose 知乎 编辑:程序博客网 时间:2024/05/17 23:41
--获取所有数据库名:SELECT name FROM  master..sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'tempdb', 'northwind','pubs' )--获取某数据库的所有表:SELECT name FROM YiDianTongV2..sysobjects Where xtype='U' ORDER BY name --获取所有表名--XType='U':表示所有用户表;--XType='S':表示所有系统表;--获取某表所有字段名:SELECT * FROM syscolumns WHERE id=Object_Id('AdminsBase')--获取数据库所有类型select name from systypes--获取某表的主键字段SELECT name FROM syscolumns WHERE id=Object_Id('AdminsBase') and colid IN(SELECT keyno from sysindexkeys WHERE id=Object_Id('AdminsBase'))--存储过程获取主键exec sp_helpindex     'AdminsBase'--获取字段类型select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('AdminsBase') and a.xtype=b.xtype--或者可以通过存储过程exec sp_help AdminsBase--取表结构SELECT  c.TABLE_SCHEMA ,        c.TABLE_NAME ,        c.COLUMN_NAME ,        c.DATA_TYPE ,        c.CHARACTER_MAXIMUM_LENGTH ,        c.COLUMN_DEFAULT ,        c.IS_NULLABLE ,        c.NUMERIC_PRECISION ,        c.NUMERIC_SCALEFROM    [INFORMATION_SCHEMA].[COLUMNS] cWHERE   TABLE_NAME = 'AdminsBase'

阅读全文
0 0
原创粉丝点击