MS SQL Server и T-SQL

Последнее обновление: 26.06.2017

Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них:

  • Таблицы: хранят собственно данные

  • Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы

  • Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)

  • Функции: также код SQL, который выполняет определенную задачу

В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.

Системные базы данных

В MS SQL Server по умолчанию создается четыре системных баз данных:

  • master: эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.

  • model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.

  • msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.

  • tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.

Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases:

Эти базы данных не следует изменять, за исключением бд model.

Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.

Создание базы данных в SQL Management Studio

Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases. Затем в появившемся контекстном меню выберем пункт New Database:

После этого нам открывается окно для создания базы данных:

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university.

Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение <defult>, то есть владельцем будет тот, кто создает эту базу данных.

Оставим это поле без изменений.

Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:

  • Logical Name: логическое имя, которое присваивается файлу базы данных.

  • File Type: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)

  • Filegroup: обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.

  • Initial Size (MB): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).

  • Autogrowth/Maxsize: при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.

  • Path: каталог, где будут храниться базы данных.

  • File Name: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.

После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.

После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete:

НазадСодержаниеВперед

MS SQL Server и T-SQL

Последнее обновление: 13.07.2017

Оператор IN

Оператор IN позволяет определить набор значений, которые должны иметь столбцы:

WHERE выражение [NOT] IN (выражение)

Выражение в скобках после IN определяет набор значений. Этот набор может вычисляться динамически на основании, например, еще одного запроса, либо это могут быть константные значения.

Например, выберем товары, у которых производитель либо Samsung, либо Xiaomi, либо Huawei:


SELECT * FROM Products
WHERE Manufacturer IN ('Samsung', 'Xiaomi', 'Huawei')

Мы могли бы все эти значения проверить и через оператор OR:


SELECT * FROM Products
WHERE Manufacturer = 'Samsung' OR Manufacturer = 'Xiaomi' OR Manufacturer = 'Huawei'

Но использование оператора IN гораздо удобнее, особенно если подобных значений очень много.

С помощью оператора NOT можно найти все строки, которые, наоборот, не соответствуют набору значений:


SELECT * FROM Products
WHERE Manufacturer NOT IN ('Samsung', 'Xiaomi', 'Huawei')

Оператор BETWEEN

Оператор BETWEEN определяет диапазон значений с помощью начального и конечного значения, которому должно соответствовать выражение:

WHERE выражение [NOT] BETWEEN начальное_значение AND конечное_значение

Например, получим все товары, у которых цена от 20 000 до 40 000 (начальное и конечное значения также включаются в диапазон):


SELECT * FROM Products
WHERE Price BETWEEN 20000 AND 40000

Если надо, наоборот, выбрать те строки, которые не попадают в данный диапазон, то применяется оператор NOT:


SELECT * FROM Products
WHERE Price NOT BETWEEN 20000 AND 40000

Также можно использовать более сложные выражения. Например, получим товары, запасы которых на определенную сумму (цена * количество):


SELECT * FROM Products
WHERE Price * ProductCount BETWEEN 100000 AND 200000

Оператор LIKE

Оператор LIKE принимает шаблон строки, которому должно соответствовать выражение. 1-6]%’

Соответствует таким значениям как «iPhone 7», «iPhone 7S» и «iPhone 8». Но не соответствует значениям «iPhone 5», «iPhone 6» и «iPhone 6S»

Применим оператор LIKE:


SELECT * FROM Products
WHERE ProductName LIKE 'iPhone [6-8]%'

НазадСодержаниеВперед

SQL

Что такое SQL?

Язык структурированных запросов (известный как SQL ) — это стандартизированный и широко используемый язык для доступа и управления данными в реляционных базах данных. Использование SQL включает в себя написание и выполнение структурированных команд, известных как операторы, которые сообщают базе данных, какая информация вам нужна или что вы хотите изменить.

SQL является опубликованным стандартом ANSI и ISO, что означает наличие установленных правил о том, что именно включает в себя язык и как он работает. Однако системы баз данных на основе SQL (такие как PostgreSQL, MySQL, SQL Server и т. д.

) имеют немного разные функции и свои собственные синтаксические особенности — ни одна из основных баз данных не соответствует на 100% официальному письменному стандарту.

С помощью SQL вы можете:

  • Создавать и настраивать базы данных, таблицы и индексы
  • Вставка, обновление и удаление информации в базах данных
  • Извлечение информации из баз данных (обычно называемое запросом)
  • Установка и настройка разрешений для базы данных

Произносится как «S.Q.L.» или «продолжение»?

Мнения по поводу произношения разделились, причем некоторые из этих мнений очень твердо придерживаются. Когда ученые-компьютерщики Дональд Чемберлин и Рэймонд Бойс впервые разработали спецификацию языка в начале 1970-х годов они назвали его «SEQUEL» (произносится как «sequel»), но изменили название языка на SQL, когда столкнулись со спором о товарном знаке. Стандарты ANSI и ISO диктуют, что официальным произношением является инициализм («S. Q.L.»), но сегодня распространены оба варианта произношения.

Так что выбирайте то, что вам больше нравится — только не удивляйтесь, если кто-то с вами не согласится.

Запросы к базам данных с помощью SQL

Независимо от того, насколько они продвинуты или сложны, все запросы SQL включают указание базе данных вернуть определенные столбцы из таблицы (или таблиц), а затем опциональное указание условий о том, какие строки должны быть включены в эти результаты и как они должны быть представлены.

SQL нечувствителен к регистру, но часто можно встретить людей, которые пишут зарезервированные слова с большой буквы (например, функции и предложения, такие как SELECT , WHERE , HAVING или ORDER BY ). Вы можете отформатировать свои операторы SQL как одну строку, если хотите, хотя люди обычно разбивают свои запросы на отдельные строки для удобства чтения.

Пример SQL-запроса

Вот SQL-запрос, который просит базу данных Metabase Sample Database вернуть таблицу заказов, в которой промежуточная сумма заказа превышает 100 долларов США:

 ВЫБОР
    *
ОТ
    заказы
ГДЕ
    промежуточный итог > 100
 

Этот запрос можно разбить на три оператора:

  1. SELECT * указывает базе данных вернуть каждый столбец в таблице.
  2. ОТ заказов сообщает базе данных, какая это таблица.
  3. ГДЕ промежуточный итог >
    100
    указывает базе данных фильтровать результаты и возвращать только те строки, где значение в поле промежуточного итога больше 100.

Приведенный выше пример запроса довольно прост; более сложные запросы могут включать соединения, агрегации, CTE и другие инструменты для извлечения и организации данных.

SQL в метабазе

Вам не нужно писать SQL, когда задаете вопросы в метабазе (для этого и нужен построитель запросов), но если вы предпочитаете SQL-запросы, для вас есть встроенный редактор запросов, а также такие функции, как :

  • Переменные SQL (включая фильтры полей)
  • Фрагменты SQL
  • Элементы управления фрагментами SQL (доступны в некоторых планах)

И если вы решите использовать построитель запросов, чтобы задавать вопросы в метабазе, вы всегда можете просмотреть лежащий в основе ваш вопрос SQL или преобразовать его в собственный SQL-запрос.

Ключевая статья
  • Рекомендации по написанию SQL-запросов
Связанные термины
  • Реляционная база данных
  • Собственный запрос
  • Встроенный редактор запросов
  • Фрагмент SQL
  • CTE (общее табличное выражение)
Дополнительная литература
  • Руководство по работе с SQL в Learn Metabase
  • Документы в редакторе SQL метабазы ​​
  • Памятка по SQL: пять простых команд SQL для начала работы с аналитикой данных

Вам помогла эта статья?

Спасибо за отзыв!

XSLT Введение

❮ Предыдущий Далее ❯


Онлайн-редактор XSLT

С помощью нашего онлайн-редактора вы можете редактировать код XML и XSLT и нажимать кнопку, чтобы просмотреть результат.

XSLT Пример

xmlns:xsl=»http://www.w3.org/1999/XSL/Transform»>



<тело>

Моя коллекция компакт-дисков


<граница таблицы="1">

Название
Исполнитель





       




Попробуйте сами »

Нажмите кнопку «Попробуйте сами», чтобы увидеть, как это работает.


Что вы уже должны знать

Прежде чем продолжить, вы должны иметь общее представление о следующем:

  • HTML
  • XML

Если вы хотите сначала изучить эти предметы, найдите учебные пособия на нашем Домашняя страница.


Ссылки на XSLT

Элементы XSLT

Описание всех элементов XSLT из Рекомендации W3C и информация о поддержке браузерами.

Функции XSLT, XPath и XQuery

XSLT 2.0, XPath 2.0 и XQuery 1.0 используют одну и ту же библиотеку функций. Есть более 100 встроенных функций. Существуют функции для строковых значений, числовых значений, сравнения даты и времени, манипулирования узлами и QName, манипуляции с последовательностями и многое другое.

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебник по HTML
Учебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
9000 7

Основные каталожные номера
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.