Упражнение. Подключение к базе данных и добавление демонстрационных данных

Завершено

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

Мы отвечаем за инфраструктуру, обновления и исправления программного обеспечения для базы данных SQL Azure. Вы можете обрабатывать базу данных SQL Azure, как и любую другую установку SQL Server. Например, вы можете использовать Visual Studio, SQL Server Management Studio, Azure Data Studio и другие средства для управления базой данных SQL Azure.

Вы можете свободно выбирать методы доступа к базе данных и подключения приложений к ней. Чтобы получить опыт работы с базой данных, давайте подключитесь к ней непосредственно с портала, создайте таблицу и выполните несколько основных операций CRUD. Здесь вы узнаете:

  • что такое Cloud Shell и как открыть эту оболочку на портале;
  • как с помощью Azure CLI получить информацию о базе данных, в том числе строки подключения;
  • как подключиться к базе данных с помощью sqlcmd;
  • как поместить в базу данных простую таблицу с тестовыми данными.

Что такое Azure Cloud Shell?

Azure Cloud Shell — это браузерная оболочка, предназначенная для разработки и администрирования ресурсов Azure. Cloud Shell можно рассматривать как интерактивную консоль, которая работает в облаке.

Cloud Shell основана на платформе Linux. Но в зависимости от того, предпочитаете ли вы среду Linux или Windows, у вас есть два способа выбора: Bash и PowerShell.

Cloud Shell можно использовать из любого расположения. Cloud Shell можно открыть не только на портале, но и через shell.azure.com, мобильное приложение Azure или Visual Studio Code.

Cloud Shell содержит популярные средства и текстовые редакторы. Ниже приведен краткий обзор azи jqsqlcmd служебных программ, которые являются тремя инструментами, которые вы используете в этом упражнении.

  • az — это интерфейс командной строки Azure. Он поддерживает команды для работы с ресурсами Azure. Этот интерфейс используется для получения сведений о базе данных, включая строка подключения.
  • jq — это средство командной строки для синтаксического анализа JSON. Выходные данные из команд в это средство передаются для az извлечения важных полей из выходных данных JSON.
  • sqlcmd позволяет выполнять инструкции на сервере SQL Server. Вы используете sqlcmd для создания интерактивного сеанса с базой данных SQL Azure.

Получение сведений о базе данных SQL Azure

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

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

  1. Перейдите к shell.azure.com или в портал Azure нажмите кнопку Cloud Shell из глобальных элементов управления окна портал Azure.

  2. Если этот параметр задан, выберите Bash для этого упражнения обучения.

  3. Во всплывающем запустите всплывающее окно "Приступая к работе ", выберите "Не требуется учетная запись хранения". Выберите подписку в раскрывающемся списке "Подписка ". Выберите Применить. Новый терминал Cloud Shell загружается.

  4. Для az выполнения команд требуется имя группы ресурсов и имя логического сервера SQL Azure. Чтобы не набирать их каждый раз с помощью клавиатуры, выполните команду azure configure, которая сохранит их в качестве значений по умолчанию.

    Замените [server-name] именем созданного логического сервера SQL Azure и [resource-group] группой ресурсов, используемой для сервера.

    Совет

    Чтобы вставить в Cloud Shell, используйте Ctrl+Shift+V вместо Ctrl+Vнего. Используется Ctrl+C для очистки текущей команды из терминала.

    az configure --defaults group=[resource-group] sql-server=[server-name]
    

    Примечание.

    В зависимости от области, в портал Azure имя сервера SQL отображается как полное доменное имя (например, servername.database.windows.netполное доменное имя) или автономное ().servername Для этой команды требуется только логическое имя без.database.windows.net суффикса.

  5. Выполните следующую az sql db list команду, чтобы получить список всех баз данных на логическом сервере SQL Azure:

    az sql db list
    

    Вы получаете большой блок JSON в виде выходных данных.

  6. Так как мы хотим получить только имена баз данных, выполните команду во второй раз. Но на этот раз передайте выходные данные, чтобы jq отобразить только поля имен.

    az sql db list | jq '[.[] | {name: .name}]'
    

    Вы должны получить следующие выходные данные:

    [
      {
        "name": "Logistics"
      },
      {
        "name": "master"
      }
    ]
    

    Logistics — это ваша пользовательская база данных. Как и в SQL Server, системная master база данных включает метаданные сервера, такие как имена входа и параметры конфигурации системы.

  7. Выполните следующую az sql db show команду, чтобы получить сведения о Logistics базе данных:

    az sql db show --name Logistics
    

    Как и раньше, вы увидите большой блок текстовых данных в формате JSON.

  8. Еще раз выполните команду . На этот раз выведите выходные данные, чтобы jq ограничить выходные данные только именем, максимальным размером и состоянием базы данных логистики .

    az sql db show --name Logistics | jq '{name: .name, maxSizeBytes: .maxSizeBytes, status: .status}'
    

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

    {
      "name": "Logistics",
      "maxSizeBytes": 2147483648,
      "status": "Online"
    }
    

    Если вы выбрали предложение База данных SQL Azure Free, бессерверная база данных автоматически приостанавливается, чтобы сохранить бесплатные секунды виртуальных ядер, чтобы вы могли видеть Logistics базу данных с состоянием "Приостановлено" после периода бездействия.

Подключение к базе данных

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

Строка подключения из Cloud Shell

Выполните следующую az sql db show-connection-string команду, чтобы получить строка подключения Logistics в базу данных в формате, который sqlcmd может использовать:

 az sql db show-connection-string --client sqlcmd

Ваш результат похож на следующий пример. Скопируйте эти выходные данные для использования на следующем шаге.

"sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U <username> -P <password> -N -l 30"

Строка подключения из портал Azure

Портал Azure предоставляет строка подключения для различных поставщиков данных для базы данных SQL Azure.

  1. В портал Azure перейдите к базе данных SQL.
  2. В меню службы базы данных SQL в разделе "Параметры" выберите "Строки подключения".
  3. Выберите нужный поставщик данных и метод подключения.

Подключение к базе данных с помощью Visual Studio Code

Давайте используем графический инструмент для подключения к новому База данных SQL Azure. Visual Studio Code — это популярный редактор кода с открытым исходным кодом для Linux, macOS и Windows. Он поддерживает расширения, включая расширение mssql. Расширение можно использовать для запроса SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure, базы данных SQL в Fabric и других платформ.

  1. Скачайте и установите Visual Studio Code.

  2. В Visual Studio Code откройте представление расширений, выбрав значок "Расширения " в строке действий в боковой части окна. Найдите mssql и выберите "Установить ", чтобы добавить расширение. и расширение mssql на локальной рабочей станции.

    Совет

    Для будущих проектов приложений для объектов базы данных также используйте расширение База данных SQL Projects для Visual Studio Code. Это средство позволяет работать с базой данных в системе управления версиями, записывать существующие схемы базы данных, разрабатывать новые объекты и публиковать в базах данных.

  3. В списке расширений выберите расширение SQL Server .

  4. В разделе "ПОДКЛЮЧЕНИЯ" выберите "Добавить подключение".

    Снимок экрана: Visual Studio Code с открытым диалогом добавления подключения расширения mssql.

  5. Присвойте новому подключению настраиваемое запоминающееся имя в имени профиля.

  6. У вас есть несколько способов предоставления сведений о подключении:

    • Выберите параметры , чтобы вручную ввести имя логического сервера SQL Azure, имя базы данных, имя пользователя и пароль.
    • Выберите строку подключения, чтобы вставить строка подключения для базы данных, а затем добавить имя пользователя и пароль.
    • Выберите "Обзор Azure", чтобы подключиться к подписке Azure в VS Code и выбрать новую База данных SQL Azure из списка.
  7. Для этого упражнения обучения выберите "Обзор Azure". Подключитесь к подписке Azure из VS Code.

  8. Выберите подписку из списка.

  9. Выберите группу ресурсов из списка.

  10. Выберите сервер и базу данных из списка.

  11. Если для типа проверки подлинности задано значение "Вход SQL", укажите имя пользователя и пароль, созданные в последнем модуле.

  12. Нажмите Подключиться.

  13. При успешном подключении диалоговое окно "Добавление подключения " исчезнет. Он заменен подключением к серверу и обозревателем объектов таблиц, представлений и т. д.

    Снимок экрана: расширение MSSQL VS Code с отображаемыми объектами сервера, подключенными к серверу и базами данных.

Запрос базы данных с помощью Visual Studio Code

Давайте запустите ряд команд для выполнения базовых операций CRUD (Создание, чтение, обновление, удаление) в База данных SQL Azure.

  1. Щелкните правой кнопкой мыши строку имени сервера в разделе CONNECTIONS и выберите "Создать запрос".

    Снимок экрана: параметр

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

    CREATE TABLE Drivers (DriverID int IDENTITY(1,1), LastName varchar(255), FirstName varchar(255), OriginCity varchar(255));
    GO
    

    Эта таблица содержит четыре столбца: уникальный идентификатор, фамилия и имя водителя, а также его родной город.

  3. Нажмите кнопку "Выполнить запрос", чтобы запустить команды T-SQL в окне запроса.

    Совет

    Чтобы выполнить одну команду T-SQL среди многих в окне запроса, перетащите нужный запрос и выберите нужный запрос, а затем выполните.

    Снимок экрана: окно

    Как и в Visual Studio Code, сочетания клавиш можно настроить в Visual Studio Code. В Windows используется сочетание клавиш по умолчанию для Ctrl + Shift + E.

  4. Затем выполните следующие инструкции T-SQL, чтобы убедиться, что Drivers таблица существует, запрашивая метаданные базы данных:

    SELECT name FROM sys.tables;
    GO
    

    На вкладке "Результаты запроса" в разделе "Результаты" вы увидите, что Drivers существует в списке таблиц.

    name
    -------
    Drivers
    
  5. Давайте добавим строку в таблицу. Выполните следующие инструкции T-SQL, чтобы добавить пример строки в таблицу:

    INSERT INTO Drivers (LastName, FirstName, OriginCity) VALUES ('Zirne', 'Laura', 'Springfield');
    GO
    

    Это означает, что операция выполнена успешно:

    3:14:01 PM
    Started executing query at Line 7
    (1 row affected)
    Total execution time: 00:00:00.044
    
  6. Чтобы просмотреть вставленную строку, выполните следующие инструкции T-SQL для перечисления DriverID и OriginCity столбцов из всех строк в таблице:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Вы получите один результат с строкой DriverID , OriginCity созданной на предыдущем шаге.

    DriverID    OriginCity
    ----------- --------------------------
    1           Springfield
    
  7. Обновим строку и изменим OriginCity. Выполните следующий T-SQL, чтобы изменить город происхождения с Springfield на "Бостон" для водителя с :DriverID1

    UPDATE Drivers SET OriginCity='Boston' WHERE DriverID=1;
    GO
    

    Должно появиться сообщение, подтверждающее выполнение запроса в окне результатов запроса:

    3:14:29 PM
    Started executing query at Line 13
    (1 row affected)
    Total execution time: 00:00:00.031
    
  8. Выполните следующие инструкции T-SQL для повторного перечисления DriverID и OriginCity столбцов:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Теперь вы должны получить следующие выходные данные. Обратите внимание на то, как OriginCity отражает изменение значения на Boston.

    DriverID    OriginCity
    ----------- --------------------------
    1           Boston
    
  9. Наконец, давайте удалите эту строку, выполнив следующую инструкцию T-SQL, чтобы удалить запись:

    DELETE FROM Drivers WHERE DriverID=1;
    GO
    
    3:15:00 PM
    Started executing query at Line 16
    (1 row affected)
    Total execution time: 00:00:00.017
    
  10. Выполните следующие инструкции T-SQL, чтобы убедиться, что таблица пуста Drivers :

    SELECT COUNT(*) FROM Drivers;
    GO
    

    Вы увидите, что таблица не содержит строк.

    -----------
              0
    

Теперь, когда у вас есть общая идея о работе с База данных SQL Azure из Cloud Shell и в Visual Studio. Вы можете использовать строка подключения для любимого средства управления SQL, включая SQL Server Management Studio, Visual Studio или пользовательские приложения.

Cloud Shell упрощает доступ и работу с ресурсами Azure любого типа. Так как Cloud Shell основан на браузере, вы можете получить доступ к нему из Windows, macOS или Linux; в любой системе с веб-браузером.

Вы получили практический опыт выполнения команд T-SQL в Visual Studio Code и практиковали навыки T-SQL.

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