Решено: заявка за получаване на имена на колони и типове данни в sql сървър

Последна актуализация: 09/13/2023
Автор: SQL SourceTrail

SQL или Structured Query Language е стандартният език за работа с релационни бази данни. Може да се използва за изпълнение на задачи като актуализиране на данни в база данни или получаване на данни от база данни. Някои често срещани системи за управление на релационни бази данни, които използват SQL, са: Oracle, Sybase, Microsoft SQL Server, Access и др. Въпреки че повечето системи за бази данни използват SQL, повечето от тях също имат свои собствени разширения, които обикновено се използват само в тяхната система. Въпреки това стандартните SQL команди като „Избор“, „Вмъкване“, „Актуализиране“, „Изтриване“, „Създаване“, „Изтриване“ могат да се използват за извършване на почти всичко, което човек трябва да направи с база данни. Днешната тема ще се фокусира върху това как да получите имена на колони и типове данни в SQL сървър.

Получаване на имена на колони и типове данни в SQL Server

SELECT c.name AS column_name,
       t.Name AS data_type,
       c.max_length,
       c.precision
FROM   sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE  c.object_id = OBJECT_ID('YourTableName')

Тази примерна част от кода ще върне списък от колони, заедно със свързаните с тях типове данни, за конкретна дадена таблица „YourTableName“. За да се потопим в това, нека първо разберем какво постига всяка част от заявката.

Разбиране на Кодекса

Изявлението SELECT: Това основно избира/събира необходимата информация. В нашия случай ние събираме името на колоната, типа данни, максималната дължина и точността.

Изявлението FROM: Това указва откъде да се събира информацията. Насочваме го към таблицата 'sys.columns', където се записва информацията за колоните.

Изявлението INNER JOIN: Това се използва за комбиниране на редове от две или повече таблици въз основа на свързана колона между тях. Тук съответната колона е user_type_id.

Клаузата WHERE: Това се използва за филтриране на записи, използва се за извличане само на онези записи, които отговарят на определено условие. Тук го насочваме да намери „YourTableName“.

Подобни функции и библиотеки

Има и други начини да получите същата информация. Например, използвайки INFORMATION_SCHEMA.COLUMNS. Това е таблица в SQL Server, която съхранява метаданни за всички колони в базата данни.

SELECT COLUMN_NAME, DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'YourTableName'

Друг начин е да използвате съхранена процедура sp_help. Той връща информация за обекта на базата данни, дефиниран от потребителя тип данни или тип данни.

EXEC sp_help 'YourTableName';

И двата метода дават същата информация като първия метод, но са структурирани малко по-различно, за да отговарят на различните нужди и предпочитания. Накратко, тези методи помагат на разработчиците да извлекат съществена информация за колоните на базата данни и техните типове данни в SQL Server.

Подобни публикации:

Оставете коментар