我可以不用它的列数在SQL Server数据库:获得基本的SQL Server表的结构信息
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
但是有什么办法(未知列数),我可以得到名字和每列的数据类型和长度?
我可以不用它的列数在SQL Server数据库:获得基本的SQL Server表的结构信息
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
但是有什么办法(未知列数),我可以得到名字和每列的数据类型和长度?
而不是使用count(*)
,你可以SELECT *
,你将返回所有的细节,你想包括data_type
:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
MSDN文档上INFORMATION_SCHEMA.COLUMNS
USE OurDatabaseName
GO
SELECT
sc.name AS [Columne Name],
st1.name AS [User Type],
st2.name AS [Base Type]
FROM dbo.syscolumns sc
INNER JOIN dbo.systypes st1 ON st1.xusertype = sc.xusertype
INNER JOIN dbo.systypes st2 ON st2.xusertype = sc.xtype
-- STEP TWO: Change OurTableName to the table name
WHERE sc.id = OBJECT_ID('OurTableName')
ORDER BY sc.colid
或者:
SELECT COLUMN_NAME AS ColumnName, DATA_TYPE AS DataType, CHARACTER_MAXIMUM_LENGTH AS CharacterLength
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'OurTableName'
对于总列的信息使用下面的语法: 使用 “数据库名” 去 Exec的SP_COLUMNS “表名”
对于总表信息使用以下语法: 使用“DBName” go 执行SP_help“表名”
在查询编辑器中写入表名称选择名称并按下Alt + F1,它将带来表的所有信息。
你是什么意思?如果你使用'SELECT *'而不是'SELECT COUNT(*)',你会得到列名,数据类型,长度和更多关于列的信息 – Lamak 2013-02-11 20:12:04
你已经有了'INFORMATION_SCHEMA.COLUMNS'表,到底是什么在那里? – LittleBobbyTables 2013-02-11 20:12:10
@LittleBobbyTables那么,这只是显示列的数量,而不是它们的名称或数据类型或长度。 – 1252748 2013-02-11 20:12:54