получить базовую информацию о структуре таблицы SQL Server

Я могу получить количество столбцов в базе данных SQL Server с помощью этого:

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

Но есть ли способ (для неизвестного количества столбцов), я могу получить имя и тип данных и длину каждого столбца?

sql,sql-server,

18

Ответов: 6


51 принят

Вместо того, чтобы использовать count(*)вы можете, SELECT *и вы вернете все детали, которые вы хотите, включая data_type:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

Документы MSDN по INFORMATION_SCHEMA.COLUMNS


19 ов

sp_help предоставит вам целую кучу информации о таблице, включая столбцы, ключи и ограничения. Например,

exec sp_help 'Address' 

предоставит вам информацию об адресе.


3

Название и тип данных:

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'

2

Напишите имя таблицы в редакторе запросов, выберите имя и нажмите Alt + F1, и он отобразит всю информацию таблицы.


0

Для общей информации столбцов используйте синтаксис ниже: Используйте «DBName» go Exec SP_Columns «TableName»

Для общей информации таблицы используйте синтаксис ниже: Используйте «DBName» go Exec SP_help «Имя таблицы»

SQL, SQL-сервер,
Похожие вопросы