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'
复制代码

 

posted @   深南大道  阅读(13044)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示