
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.