如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)

yizhihongxing

获取SqlServer2005表结构可以通过查询系统表和视图来实现,下面是详细的攻略:

查询主键

使用以下语句查询指定表的主键名称:

SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = '表名' AND CONSTRAINT_NAME LIKE 'PK_%';

使用以下语句查询指定表的主键字段:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = '表名' AND CONSTRAINT_NAME LIKE 'PK_%';

查询外键

使用以下语句查询指定表的外键名称:

SELECT ForeignKey.name AS FKName
FROM sys.foreign_keys ForeignKey
WHERE ForeignKey.parent_object_id = OBJECT_ID('表名');

使用以下语句查询指定表的外键字段:

SELECT
    parent_cols.name AS ParentColumnName,
    referenced_cols.name AS ReferencedColumnName
FROM 
    sys.foreign_key_columns fkc
INNER JOIN 
    sys.columns parent_cols ON fkc.parent_column_id = parent_cols.column_id AND fkc.parent_object_id = parent_cols.object_id
INNER JOIN 
    sys.columns referenced_cols ON fkc.referenced_column_id = referenced_cols.column_id AND fkc.referenced_object_id = referenced_cols.object_id
WHERE 
    parent_cols.object_id = OBJECT_ID('表名');

查询递增列

使用以下语句查询指定表的递增列:

SELECT
    COLUMN_NAME
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    [TABLE_NAME] = '表名' AND COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1;

查询描述

使用以下语句查询指定表的描述:

SELECT [value] FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', '表名', 'column', NULL)

示例说明

  1. 查询表Test的主键和主键字段

首先,我们使用以下语句查询Test表的主键名称:

SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'Test' AND CONSTRAINT_NAME LIKE 'PK_%';

运行结果为:

PK_Test_Id

接下来,我们使用以下语句查询Test表的主键字段:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'Test' AND CONSTRAINT_NAME LIKE 'PK_%';

运行结果为:

Id
  1. 查询表Employee的递增列和描述

首先,我们使用以下语句查询Employee表的递增列:

SELECT
    COLUMN_NAME
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    [TABLE_NAME] = 'Employee' AND COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1;

运行结果为:

Id

接下来,我们使用以下语句查询Employee表的描述:

SELECT [value] FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', 'Employee', 'column', NULL)

运行结果为:

Employee table

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何获取SqlServer2005表结构(字段,主键,外键,递增,描述) - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • pyecharts绘制各种数据可视化图表案例附效果+代码

    Pyecharts绘制各种数据可视化图表案例附效果+代码攻略 Pyecharts是一个基于Echarts的Python数据可视化库,它提供了丰富的图表类型和灵活的配置选项,可以帮助我们快速生成各种数据可视化图表。本攻略将详细介绍如何使用Pyecharts绘制各种数据可视化图表,并附带两个示例说明。 安装Pyecharts 首先,我们需要安装Pyecharts…

    other 2023年7月28日
    00
  • linux之hosts文件

    以下是Linux之hosts文件的完整攻略,包含两个示例说明: 步骤1:打开hosts文件 首先,需要打开hosts文件。以下是打开hosts文件的步骤: 打开终端或命令行界面。 输入以下命令并按Enter键: bash sudo nano /etc/hosts 这将打开hosts文件并允许您编辑它。 步骤2:编辑hosts文件 在Linux中编辑hosts…

    other 2023年5月9日
    00
  • Centos7 [ubuntu] 安装pycharm2019.1.3并永久破解教程

    Centos7 [ubuntu] 安装PyCharm 2019.1.3并永久破解教程 1. 确认系统版本 在开始安装PyCharm之前,请确保你的CentOS7或Ubuntu系统已经安装了Java SDK,并且已经进行了基本的系统更新。输入以下命令检查Java SDK是否安装成功: java -version 如果Java SDK已经安装,命令行会输出Jav…

    其他 2023年3月28日
    00
  • Android中BroadcastReceiver(异步接收广播Intent)的使用

    下面就为你详细讲解“Android中BroadcastReceiver(异步接收广播Intent)的使用”的完整攻略。 1. Broadcast Receiver 是什么? Broadcast Receiver 是一种可以接收 Android 系统发出的广播 Intent,并在接收到广播后执行指定操作的一种组件。Broadcast Receiver 不具有用…

    other 2023年6月27日
    00
  • 详解静态分析技术符号执行

    详解静态分析技术符号执行的完整攻略 什么是静态分析? 静态分析是指在程序运行之前,对程序源代码进行分析的一种方法。静态分析可以帮助开发人员发现程序中存在的潜在问题,在程序运行之前就可以及时发现错误,减少漏洞的产生。 什么是符号执行? 符号执行是一种自动化的测试方法,用于探索程序内部的所有路径。符号执行会将程序变量的值转换成符号(例如变量 x 可能被转换成符号…

    other 2023年6月26日
    00
  • SpringBoot整合RabbitMQ实现RPC远程调用功能

    一、概述 RabbitMQ是一个开源的消息队列中间件,主要用于在分布式系统中存储转发消息,它是实现消息的异步通信的基础。SpringBoot是一款非常流行的微服务框架,与RabbitMQ结合起来,可以实现RPC远程调用功能。本文将详细说明如何使用SpringBoot整合RabbitMQ实现RPC远程调用。 二、实现步骤 添加依赖 首先,在pom.xml中添加…

    other 2023年6月27日
    00
  • 家里宽带怎么换IP?

    家里宽带怎么换IP? 如果你想要更换家里宽带的IP地址,可以按照以下步骤进行操作: 联系网络服务提供商(ISP):首先,你需要联系你的网络服务提供商,告知他们你想要更换IP地址。他们将为你提供具体的操作步骤和要求。 确认网络连接类型:在进行IP地址更换之前,你需要确认你的网络连接类型。常见的网络连接类型包括动态IP和静态IP。动态IP是由ISP自动分配的,而…

    other 2023年7月30日
    00
  • linux如何开启telnet服务?linux开启telnet服务的方法

    开启Telnet服务是在Linux系统上远程登录Linux服务器的一种方式。下面是开启Linux Telnet服务的方法: 安装Telnet软件 在Linux服务器上安装telnet软件: sudo apt-get install telnetd -y 开启Telnet服务 然后开启telnet服务: sudo systemctl enable telnet…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部