查询表名描述 MS_Description

1
2
3
4
5
SELECT tbs.name 表名,ds.value 描述      
FROM sys.extended_properties ds 
LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id 
WHERE  ds.minor_id=0 and 
tbs.name='ScheduleRecords';--表名

添加表的描述

1
EXECUTE sp_addextendedproperty N'MS_Description', N'菜单表', N'user', N'dbo', N'table', N'Menus', NULL, NULL;

更新表的描述

1
EXECUTE sp_updateextendedproperty N'MS_Description', N'菜单表', N'user', N'dbo', N'table', N'Menus', NULL, NULL;

查询表的外键

1
2
3
4
5
6
SELECT tbs.name 表名,ds.value 描述     
FROM sys.extended_properties ds 
LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id 
WHERE  ds.minor_id=0 and  
tbs.name='ScheduleRecords';--表名
WHERE OBJECT_NAME(sysobjects.parent_obj)='Table Name'

SQL查询表的所有字段的备注说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SELECT
    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
    TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
    Column_id=C.column_id,
    ColumnName=C.name,
    PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
    [IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
    Computed=CASE WHEN C.is_computed=1 THEN N'√'ELSE N'' END,
    Type=T.name,
    Length=C.max_length,
    Precision=C.precision,
    Scale=C.scale,
    NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
    [Default]=ISNULL(D.definition,N''),
    ColumnDesc=ISNULL(PFD.[value],N''),
    IndexName=ISNULL(IDX.IndexName,N''),
    IndexSort=ISNULL(IDX.Sort,N''),
    Create_Date=O.Create_Date,
    Modify_Date=O.Modify_date
FROM sys.columns C
INNER JOIN sys.objects O ON C.[object_id]=O.[object_id]
    AND O.type='U' AND O.is_ms_shipped=0
INNER JOIN sys.types T ON C.user_type_id=T.user_type_id
LEFT JOIN sys.default_constraints D ON C.[object_id]=D.parent_object_id
    AND C.column_id=D.parent_column_id AND C.default_object_id=D.[object_id]
LEFT JOIN sys.extended_properties PFD ON PFD.class=1
    AND C.[object_id]=PFD.major_id AND C.column_id=PFD.minor_id
-- AND PFD.name='Caption' -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
LEFT JOIN sys.extended_properties PTB ON PTB.class=1
    AND PTB.minor_id=0 AND C.[object_id]=PTB.major_id
-- AND PFD.name='Caption' -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)
LEFT JOIN -- 索引及主键信息
    (
    SELECT
        IDXC.[object_id],
        IDXC.column_id,
        Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
        WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
        PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
        IndexName=IDX.Name
    FROM sys.indexes IDX
    INNER JOIN sys.index_columns IDXC ON IDX.[object_id]=IDXC.[object_id]
        AND IDX.index_id=IDXC.index_id
    LEFT JOIN sys.key_constraints KC ON IDX.[object_id]=KC.[parent_object_id]
        AND IDX.index_id=KC.unique_index_id
    INNER JOIN -- 对于一个列包含多个索引的情况,只显示第1个索引信息
        (
            SELECT [object_id], Column_id, index_id=MIN(index_id)
            FROM sys.index_columns
            GROUP BY [object_id], Column_id
        ) IDXCUQ ON IDXC.[object_id]=IDXCUQ.[object_id]
            AND IDXC.Column_id=IDXCUQ.Column_id    AND IDXC.index_id=IDXCUQ.index_id
    ) IDX ON C.[object_id]=IDX.[object_id]
    AND C.column_id=IDX.column_id
    --WHERE O.name=N'tablename' -- 如果只查询指定表,加上此条件
ORDER BY O.name,C.column_id

SqlServer查询表名的备注(查询表名描述 MS_Description)的更多相关文章

  1. mysql查询表内所有字段名和备注

    select distinct column_name as 字段名,column_comment as 字段备注 from information_schema.columns where tabl ...

  2. SQL添加表字段以及SQL查询表,表的所有字段名

    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...

  3. SQL查询表,表的所有字段名,SQL查询表,表的所有字段名

    SQL查询表,表的所有字段名 2011-07-29 10:21:43|  分类: SQLServer |  标签:表  sql  字段   |举报 |字号 订阅   SQL查询表,表的所有字段名 SQ ...

  4. Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、

    查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t; ...

  5. 获取SQL数据库中的数据库名、所有表名、所有字段名、列描述

    1.获取所有数据库名:    (1).Select Name FROM Master.dbo.SysDatabases orDER BY Name 2.获取所有表名:    (1).Select Na ...

  6. [Database][SQL] 取得SQLServer中某一欄位名稱所在的資料表及欄位相關資訊

    取得SQLServer中某一欄位名稱所在的資料表及欄位相關資訊  

  7. mysql只显示表名和备注

    查看某个数据下的表及其备注: select table_name,table_comment from information_schema.tables where table_schema='db ...

  8. 数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID)

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instanc ...

  9. Oracle数据库名、实例名、数据库域名、数据库服务名、全局数据库名的辨析

    我也是看着各位大婶的博客然后一点点的来学习,不求全会,留个印象 数据库名 数据库名就是一个数据库的标识,用参数DB_NAME表示. 如果一台机器上安装了多个数据库,那么每一个数据库都有一个数据库名. ...

随机推荐

  1. windows远程登录报错 CredSSP不支持Oracle

    https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

  2. SoapUI简介及下载地址

    SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,mave ...

  3. python基础知识6---文件处理

    阅读目录 一 文件操作 二 打开文件的模式 三 操作文件的方法 四 文件内光标移动 五 文件的修改   一 文件操作 一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pytho ...

  4. 饿了么测试专场技术沙龙实况回顾&PPT 下载

    PPT下载和视频观看链接 链接:https://pan.baidu.com/s/1dE8uXHZ 密码:6j5z视频直播回顾: http://www.itdks.com/dakashuo/playba ...

  5. Mysql-12条优化技巧

    应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...

  6. Java tomcat Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost

    关于 下面问题是因为(8005, 8080, 8009) 被原tomcat占用了. Several ports (8005, 8080, 8009) required by Tomcat v9.0 S ...

  7. Oracle问题处理

    一,如果在Oracle中执行for update操作时,出现一致卡顿现象,此时可能是有其它的进程阻塞了. 处理的方法就是查找出阻塞的进程,然后强制杀死 先查询出阻塞进程: select object_ ...

  8. 4、hello world

    package com.ourteam.firstexample; import io.netty.bootstrap.ServerBootstrap;import io.netty.channel. ...

  9. Creating and using a blendspace in c++

    转自:https://forums.unrealengine.com/development-discussion/c-gameplay-programming/104831-creating-and ...

  10. Excel 2016 密码保护破解

    Excel 2016的密码保护可以区分为几个: 文件密码保护(Excel中叫做工作簿保护) 文件打开权限密码 文件修改权限密码 工作表保护 关于各个保护密码的设置方式请查阅其他资料,我的情况是之前自己 ...