Урок 1. Создание объектов базы данных и отправка запросов к ним

Урок 1. Создание объектов базы данных и отправка запросов к ним

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

Transact-SQL могут быть написаны и пересланы компоненту Компонент Database Engine следующими способами:

При помощи среды SQL Server Management Studio. Предполагается, что вы используете среду Среда Management Studio, но можно также использовать среду Среда Management Studio Express, которая может быть загружена бесплатно с веб-узла центра загрузки Майкрософт.

Соединившись из создаваемого приложения.

Исходный код исполняется в компоненте Компонент Database Engine таким же образом и с теми же разрешениями, независимо от того, как был передан исходный код инструкций.

Чтобы выполнить инструкцию языка Transact-SQL в среде Среда Management Studio, откройте среду Среда Management Studio и соединитесь с экземпляром компонента Компонент SQL Server Database Engine.

Предварительные требования

Для работы с этим руководством необходима среда SQL Server Management Studio и доступ к экземпляру SQL Server.

  • Установите SQL Server Management Studio.

Если у вас нет экземпляра SQL Server, создайте его. Чтобы создать экземпляр, выберите свою платформу по следующим ссылкам. При выборе проверки подлинности SQL используйте учетные данные SQL Server.

  • Windows: скачать выпуск SQL Server 2017 Developer Edition.
  • macOS: скачать SQL Server 2017 для Docker.

Создание базы данных

Как и у многих инструкций языка Transact-SQL, у инструкции CREATE DATABASE имеется обязательный параметр: имя базы данных. Кроме этого, у инструкции CREATE DATABASE имеется ряд необязательных параметров, таких как расположение на диске, где требуется хранить файлы базы данных. При выполнении инструкции CREATE DATABASE без дополнительных параметров для многих из них SQL Server использует значения по умолчанию.

В окне редактора запросов введите, но не выполняйте, следующий код:

С помощью указателя выделите слова CREATE DATABASE и нажмите клавишу F1. Должен открыться раздел CREATE DATABASE электронной документации на Microsoft SQL Server. Таким же способом можно найти полный синтаксис инструкции CREATE DATABASE и других инструкций, используемых в данном учебнике.

В редакторе запросов нажмите клавишу F5 , чтобы выполнить инструкцию и создать базу данных с именем TestData .

При создании базы данных сервер SQL Server создает копию базы данных model и присваивает ей указанное имя базы данных. Эта операция обычно занимает несколько секунд, если только с помощью дополнительного параметра не указан большой исходный размер базы данных.

Когда в одном пакете представлено несколько инструкций, они разделяются с помощью ключевого слова GO. Ключевое слово GO является необязательным, если в пакете содержится только одна инструкция.

Создание таблицы

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics Parallel Data Warehouse

Чтобы создать таблицу, нужно указать имя таблицы, имена и типы данных для каждого столбца таблицы. Также рекомендуется указывать, допускаются ли значения NULL для каждого из столбцов. Для создания таблицы необходимо иметь разрешение CREATE TABLE и разрешение ALTER SCHEMA для схемы, которая будет содержать таблицу. Предопределенная роль базы данных db_ddladmin имеет эти разрешения.

Большинство таблиц имеют первичный ключ, состоящий из одной или нескольких столбцов таблицы. Первичный ключ всегда уникален. Компонент Компонент Database Engine потребует выполнения условия неповторения значения первичного ключа в таблице.

Список типов данных и ссылки на их описание см. в разделе Типы данных (Transact-SQL).

Компонент Компонент Database Engine может быть установлен с учетом регистра и без учета регистра. Если компонент Компонент Database Engine установлен с учетом регистра, имена объектов должны иметь одно и тоже имя. Например, таблица с именем OrderData будет отличаться от таблицы ORDERDATA. Если компонент Компонент Database Engine установлен без учета регистра, эти два имени таблицы будут рассматриваться как одна таблица, то есть имя может быть использовано только один раз.

Переключение соединения редактора запросов на базу данных TestData

В окне редактора запросов введите и выполните следующий код, чтобы изменить соединение на базу данных TestData .

Создание таблицы

В окне редактора запросов введите и выполните следующий код, чтобы создать таблицу Products . Столбцы таблицы имеют имена ProductID , ProductName , Price и ProductDescription . Столбец ProductID является первичным ключом таблицы. int , varchar(25) , money и varchar(max) . Только столбцы Price и ProductionDescription могут быть пустыми при вставке или изменении строки. Данная инструкция содержит необязательный элемент ( dbo. ), называемый схемой. Схема — это объект базы данных, к которому принадлежит таблица. Если вы являетесь администратором, схемой по умолчанию будет схема dbo . dbo означает владельца базы данных.

Вставка данных в таблицу и их обновление

После создания таблицы Products в нее можно вставлять данные с помощью инструкции INSERT. После вставки данных содержимое строки изменяется с помощью инструкции UPDATE. Предложение WHERE предназначено для ограничения числа строк, изменяемых в процессе выполнения инструкции UPDATE до одной строки. Чтобы ввести следующие данные, потребуется четыре инструкции.

ProductID ProductName Цена ProductDescription 1 Clamp 12,48 Workbench clamp 50 Screwdriver 3,17 Flat head 75 Tire Bar Tool for changing tires. 3000 3 mm Bracket 0,52

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

Вставка данных в таблицу
  1. Выполните следующую инструкцию, чтобы добавить строку в таблицу Products , которая была создана в предыдущей задаче.

Если вставка выполнена, перейдите к следующему шагу.

Если вставка завершается сбоем, это может быть вызвано тем, что в таблице Product уже есть строка с таким ИД продукта. Чтобы продолжить, удалите все строки в таблице и повторите предыдущий шаг. TRUNCATE TABLE удаляет все строки в таблице.

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

После усечения таблицы повторите команду INSERT на этом шаге.

  1. В следующей инструкции показано, как можно изменить порядок, в котором приведены параметры, изменив расположение ProductID и ProductName одновременно как в списке полей (в круглых скобках), так и в списке значений.
  1. Следующая инструкция показывает, что имена столбцов перечислять не обязательно, если значения перечислены в нужном порядке. Этот синтаксис является стандартным, но не рекомендуется, поскольку другим будет трудно понять ваш код. NULL указано в столбце Price , так как цена этого товара пока неизвестна.
  1. Имя схемы указывать не обязательно, пока доступ и изменение таблицы осуществляются с помощью схемы по умолчанию. Поскольку в столбце ProductDescription разрешены значения NULL и значение для столбца не приведено, имя и значение столбца ProductDescription в инструкции могут быть полностью опущены.
Обновление таблицы продуктов

Введите и выполните следующую инструкцию UPDATE , чтобы изменить значение ProductName второго продукта со значения Screwdriver на значение Flat Head Screwdriver .

Чтение данных из таблицы

Для чтения данных в таблице используется инструкция SELECT. Инструкция SELECT является одной из наиболее важных инструкций Transact-SQL , и для нее существует много разновидностей синтаксиса. В этом учебнике будет показана работа с пятью простыми вариантами.

Чтение данных в таблице
  1. Чтобы прочитать данные из таблицы Products , введите и выполните следующие инструкции.
  1. Чтобы выбрать все столбцы в таблице, можно использовать звездочку ( * ). Звездочка используется для нерегламентированных запросов. В постоянном коде укажите список всех столбцов, чтобы инструкция возвращала нужные столбцы, даже если какой-то столбец будет добавлен в таблицу позднее.
  1. Если нет необходимости возвращать определенные столбцы, их можно опустить. Столбцы возвращаются в том порядке, в котором они перечислены.
  1. Чтобы ограничить количество строк, возвращаемых пользователю, используйте предложение WHERE .
  1. Можно работать со значениями столбцов, по мере того как столбцы возвращаются. В следующем примере выполняется математическая операция над столбцом Price . Столбцы, изменяемые подобным образом, не имеют имени, если только имя не указывается с использованием ключевого слова AS .
Полезные функции в инструкции SELECT

Сведения о работе с функциями, которые используются в инструкциях SELECT, см. в следующих разделах:

📎📎📎📎📎📎📎📎📎📎