来自 数据库 2020-05-07 17:33 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

获取数据字典

1.查询当前数据库所有表

 表结构信息查询

WHERE O.name=N'{0}' ------要查询的表名ORDER BY O.name,C.column_id

网上澳门金莎娱乐 1SELECT 
网上澳门金莎娱乐 2    TableId=O.[object_网上澳门金莎娱乐,id],
网上澳门金莎娱乐 3    TableName=O.Name,
网上澳门金莎娱乐 4    IndexId=ISNULL(KC.[object_id],IDX.index_id),
网上澳门金莎娱乐 5    IndexName=IDX.Name,
网上澳门金莎娱乐 6    IndexType=ISNULL(KC.type_desc,'Index'),
网上澳门金莎娱乐 7    Index_Column_id=IDXC.index_column_id,
网上澳门金莎娱乐 8    ColumnID=C.Column_id,
网上澳门金莎娱乐 9    ColumnName=C.Name,
网上澳门金莎娱乐 10    Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
网上澳门金莎娱乐 11        WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
网上澳门金莎娱乐 12    PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 13    [UQIQUE]=CASE WHEN IDX.is_unique=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 14    Ignore_dup_key=CASE WHEN IDX.ignore_dup_key=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 15    Disabled=CASE WHEN IDX.is_disabled=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 16    Fill_factor=IDX.fill_factor,
网上澳门金莎娱乐 17    Padded=CASE WHEN IDX.is_padded=1 THEN N'√'ELSE N'' END
网上澳门金莎娱乐 18FROM sys.indexes IDX
网上澳门金莎娱乐 19    INNER JOIN sys.index_columns IDXC
网上澳门金莎娱乐 20        ON IDX.[object_id]=IDXC.[object_id]
网上澳门金莎娱乐 21            AND IDX.index_id=IDXC.index_id
网上澳门金莎娱乐 22    LEFT JOIN sys.key_constraints KC
网上澳门金莎娱乐 23        ON IDX.[object_id]=KC.[parent_object_id]
网上澳门金莎娱乐 24            AND IDX.index_id=KC.unique_index_id
网上澳门金莎娱乐 25    INNER JOIN sys.objects O
网上澳门金莎娱乐 26        ON O.[object_id]=IDX.[object_id]
网上澳门金莎娱乐 27    INNER JOIN sys.columns C
网上澳门金莎娱乐 28        ON O.[object_id]=C.[object_id]
网上澳门金莎娱乐 29            AND O.type='U'
网上澳门金莎娱乐 30            AND O.is_ms_shipped=0
网上澳门金莎娱乐 31            AND IDXC.Column_id=C.Column_id
网上澳门金莎娱乐 32--    INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息
网上澳门金莎娱乐 33--    (
网上澳门金莎娱乐 34--        SELECT [object_id], Column_id, index_id=MIN(index_id)
网上澳门金莎娱乐 35--        FROM sys.index_columns
网上澳门金莎娱乐 36--        GROUP BY [object_id], Column_id
网上澳门金莎娱乐 37--    ) IDXCUQ
网上澳门金莎娱乐 38--        ON IDXC.[object_id]=IDXCUQ.[object_id]
网上澳门金莎娱乐 39--            AND IDXC.Column_id=IDXCUQ.Column_id
网上澳门金莎娱乐 40

要加单引号varchar,char,nvarchar,nchar,text,ntext,datetime不需要加int,numeric,bit 不需要加

网上澳门金莎娱乐 41SELECT 
网上澳门金莎娱乐 42    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
网上澳门金莎娱乐 43    TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
网上澳门金莎娱乐 44    Column_id=C.column_id,
网上澳门金莎娱乐 45    ColumnName=C.name,
网上澳门金莎娱乐 46    PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
网上澳门金莎娱乐 47    [IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 48    Computed=CASE WHEN C.is_computed=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 49    Type=T.name,
网上澳门金莎娱乐 50    Length=C.max_length,
网上澳门金莎娱乐 51    Precision=C.precision,
网上澳门金莎娱乐 52    Scale=C.scale,
网上澳门金莎娱乐 53    NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 54    [Default]=ISNULL(D.definition,N''),
网上澳门金莎娱乐 55    ColumnDesc=ISNULL(PFD.[value],N''),
网上澳门金莎娱乐 56    IndexName=ISNULL(IDX.IndexName,N''),
网上澳门金莎娱乐 57    IndexSort=ISNULL(IDX.Sort,N''),
网上澳门金莎娱乐 58    Create_Date=O.Create_Date,
网上澳门金莎娱乐 59    Modify_Date=O.Modify_date
网上澳门金莎娱乐 60FROM sys.columns C
网上澳门金莎娱乐 61    INNER JOIN sys.objects O
网上澳门金莎娱乐 62        ON C.[object_id]=O.[object_id]
网上澳门金莎娱乐 63            AND O.type='U'
网上澳门金莎娱乐 64            AND O.is_ms_shipped=0
网上澳门金莎娱乐 65    INNER JOIN sys.types T
网上澳门金莎娱乐 66        ON C.user_type_id=T.user_type_id
网上澳门金莎娱乐 67    LEFT JOIN sys.default_constraints D
网上澳门金莎娱乐 68        ON C.[object_id]=D.parent_object_id
网上澳门金莎娱乐 69            AND C.column_id=D.parent_column_id
网上澳门金莎娱乐 70            AND C.default_object_id=D.[object_id]
网上澳门金莎娱乐 71    LEFT JOIN sys.extended_properties PFD
网上澳门金莎娱乐 72        ON PFD.class=1 
网上澳门金莎娱乐 73            AND C.[object_id]=PFD.major_id 
网上澳门金莎娱乐 74            AND C.column_id=PFD.minor_id
网上澳门金莎娱乐 75--             AND PFD.name='Caption'  -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
网上澳门金莎娱乐 76    LEFT JOIN sys.extended_properties PTB
网上澳门金莎娱乐 77        ON PTB.class=1 
网上澳门金莎娱乐 78            AND PTB.minor_id=0 
网上澳门金莎娱乐 79            AND C.[object_id]=PTB.major_id
网上澳门金莎娱乐 80--             AND PFD.name='Caption'  -- 表说明对应的描述名称(一个表可以添加多个不同name的描述) 
网上澳门金莎娱乐 81 LEFT JOIN                       -- 索引及主键信息
网上澳门金莎娱乐 82    (
网上澳门金莎娱乐 83        SELECT 
网上澳门金莎娱乐 84            IDXC.[object_id],
网上澳门金莎娱乐 85            IDXC.column_id,
网上澳门金莎娱乐 86            Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
网上澳门金莎娱乐 87                WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
网上澳门金莎娱乐 88            PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
网上澳门金莎娱乐 89            IndexName=IDX.Name
网上澳门金莎娱乐 90        FROM sys.indexes IDX
网上澳门金莎娱乐 91        INNER JOIN sys.index_columns IDXC
网上澳门金莎娱乐 92            ON IDX.[object_id]=IDXC.[object_id]
网上澳门金莎娱乐 93                AND IDX.index_id=IDXC.index_id
网上澳门金莎娱乐 94        LEFT JOIN sys.key_constraints KC
网上澳门金莎娱乐 95            ON IDX.[object_id]=KC.[parent_object_id]
网上澳门金莎娱乐 96                AND IDX.index_id=KC.unique_index_id
网上澳门金莎娱乐 97        INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息
网上澳门金莎娱乐 98        (
网上澳门金莎娱乐 99            SELECT [object_id], Column_id, index_id=MIN(index_id)
网上澳门金莎娱乐 100            FROM sys.index_columns
网上澳门金莎娱乐 101            GROUP BY [object_id], Column_id
网上澳门金莎娱乐 102        ) IDXCUQ
网上澳门金莎娱乐 103            ON IDXC.[object_id]=IDXCUQ.[object_id]
网上澳门金莎娱乐 104                AND IDXC.Column_id=IDXCUQ.Column_id
网上澳门金莎娱乐 105                AND IDXC.index_id=IDXCUQ.index_id
网上澳门金莎娱乐 106    ) IDX
网上澳门金莎娱乐 107        ON C.[object_id]=IDX.[object_id]
网上澳门金莎娱乐 108            AND C.column_id=IDX.column_id 
网上澳门金莎娱乐 109-- WHERE O.name=N'要查询的表'       -- 如果只查询指定表,加上此条件
网上澳门金莎娱乐 110ORDER BY O.name,C.column_id 
网上澳门金莎娱乐 111

带长度:[binary],[char],[decimal],[nchar],[numeric],[nvarchar],[varbinary][varchar]不用带:[bigint],[bit],[datetime],[float],[image],[int],[xml],[timestamp],[tinyint], [uniqueidentifier],[money],[ntext],[real],[smalldatetime],[smallint],[smallmoney], [sql_variant],[text]

索引及主键信息

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:获取数据字典

关键词: