You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell提取SSMS中数据表的列名、数据类型及空值属性?

用PowerShell提取SQL Server数据表列信息的方法

下面提供两种实用方法,帮你提取指定数据表的列名、数据类型和是否允许空值:

方法一:使用SqlServer模块(推荐,操作更简洁)

这个模块是微软官方提供的SQL Server管理工具,适合大多数场景。

  1. 先安装模块(如果还没装):
Install-Module -Name SqlServer -Scope CurrentUser -Force
  1. 执行以下代码提取列信息,记得替换成你的服务器、数据库和表名:
# 导入模块
Import-Module SqlServer

# 配置参数
$serverName = "你的SQL服务器名"
$databaseName = "目标数据库名"
$tableName = "要查询的数据表名"

# 查询系统视图获取列信息
$columnDetails = Invoke-SqlCmd -ServerInstance $serverName -Database $databaseName -Query @"
SELECT 
    COLUMN_NAME AS '列名',
    DATA_TYPE AS '数据类型',
    IS_NULLABLE AS '是否允许空值'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '$tableName'
ORDER BY ORDINAL_POSITION
"@

# 格式化输出结果
$columnDetails | Format-Table -AutoSize
  • 如果你用SQL身份验证,需要在Invoke-SqlCmd后加上-Username "你的SQL账号" -Password "你的密码"参数。
  • 系统视图INFORMATION_SCHEMA.COLUMNS是SQL Server标准视图,能稳定获取列的基础属性。

方法二:使用ADO.NET(无需额外安装模块)

如果你的环境无法安装SqlServer模块,可以直接用.NET框架的ADO.NET组件来实现:

# 配置参数
$serverName = "你的SQL服务器名"
$databaseName = "目标数据库名"
$tableName = "要查询的数据表名"

# 构建连接字符串(Windows身份验证)
$connectionString = "Server=$serverName;Database=$databaseName;Integrated Security=True;"

# 创建连接和查询命令
$conn = New-Object System.Data.SqlClient.SqlConnection($connectionString)
$query = @"
SELECT 
    COLUMN_NAME AS '列名',
    DATA_TYPE AS '数据类型',
    IS_NULLABLE AS '是否允许空值'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '$tableName'
ORDER BY ORDINAL_POSITION
"@
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $conn)

# 执行查询并读取结果
$conn.Open()
$reader = $cmd.ExecuteReader()
$result = @()
while ($reader.Read()) {
    $result += [PSCustomObject]@{
        "列名" = $reader["列名"]
        "数据类型" = $reader["数据类型"]
        "是否允许空值" = $reader["是否允许空值"]
    }
}
$reader.Close()
$conn.Close()

# 输出结果
$result | Format-Table -AutoSize
  • 若使用SQL身份验证,将连接字符串改为:"Server=$serverName;Database=$databaseName;User ID=你的账号;Password=你的密码;"

内容的提问来源于stack exchange,提问作者Basilicoq13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:10:39