Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

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

简介: 原文:Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。 --获取所有数据库名: SELECT name FROM master.
原文:Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。

--获取所有数据库名:
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_SCALE
FROM    [INFORMATION_SCHEMA].[COLUMNS] c
WHERE   TABLE_NAME = 'AdminsBase'

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章