Ćwiczenie — Nawiązywanie połączenia z bazą danych i dodawanie przykładowych danych
Zanim połączysz bazę danych z aplikacją, dobrze jest sprawdzić, czy możesz nawiązać połączenie, dodawać podstawowe tabele i pracować z danymi przykładowymi.
My zajmujemy się utrzymaniem infrastruktury, aktualizacjami oprogramowania oraz poprawkami bazy danych Azure SQL Database. Bazę danych Azure SQL Database można traktować tak, jakby jakakolwiek inna instalacja programu SQL Server. Możesz na przykład używać programów Visual Studio, SQL Server Management Studio, Azure Data Studio lub innych narzędzi do zarządzania bazą danych Azure SQL Database.
To od Ciebie zależy, w jaki sposób uzyskujesz dostęp do bazy danych i łączysz ją z aplikacją. Aby uzyskać pewne doświadczenie w pracy z bazą danych, połączmy się z nią bezpośrednio z poziomu portalu, utwórzmy tabelę i uruchomimy kilka podstawowych operacji CRUD. Tutaj nauczysz się:
- Co to jest usługa Cloud Shell i jak uzyskać do niej dostęp w portalu.
- Jak uzyskać dostęp do informacji dotyczących bazy danych, w tym parametrów połączenia, z poziomu interfejsu wiersza polecenia platformy Azure.
- Jak nawiązywać połączenie z bazą danych przy użyciu narzędzia
sqlcmd
. - Jak zainicjować bazę danych przy użyciu podstawowej tabeli i kilku danych przykładowych.
Co to jest usługa Azure Cloud Shell?
Usługa Azure Cloud Shell to oparte na przeglądarce środowisko powłoki do tworzenia zasobów platformy Azure i zarządzania nimi. Usługę Cloud Shell można porównać do interaktywnej konsoli działającej w chmurze.
W tle usługa Cloud Shell działa w systemie Linux. Jednak w zależności od tego, czy wolisz środowisko systemu Linux, czy Windows, masz dwa środowiska do wyboru: Bash i PowerShell.
Usługa Cloud Shell jest dostępna z dowolnego miejsca. Dostęp do usługi Cloud Shell możesz uzyskać nie tylko z portalu, ale również z poziomu witryny shell.azure.com, aplikacji mobilnej platformy Azure lub narzędzia Visual Studio Code.
Usługa Cloud Shell zawiera popularne narzędzia i edytory tekstu. Poniżej przedstawiono krótkie spojrzenie na az
narzędzia , jq
i sqlcmd
, które są trzy narzędzia używane w tym ćwiczeniu.
- Narzędzie
az
jest również nazywane interfejsem wiersza polecenia platformy Azure. To interfejs wiersza polecenia służący do pracy z zasobami platformy Azure. Ten interfejs służy do uzyskiwania informacji o bazie danych, w tym parametry połączenia. - Narzędzie
jq
to analizator kodu JSON działający w wierszu polecenia. Dane wyjściowe potoku są przesyłane zaz
poleceń do tego narzędzia w celu wyodrębnienia ważnych pól z danych wyjściowych JSON. - Narzędzie
sqlcmd
umożliwia wykonywanie instrukcji w programie SQL Server. Służysqlcmd
do tworzenia interaktywnej sesji z bazą danych Azure SQL Database.
Uzyskiwanie informacji na temat bazy danych Azure SQL Database
Przed nawiązaniem połączenia z bazą danych warto sprawdzić, czy baza danych istnieje i czy jest dostępna online.
Teraz należy użyć narzędzia az
, aby wyświetlić listę baz danych i informacje dotyczące bazy danych Logistics, w tym jej maksymalny rozmiar i stan.
Odwiedź stronę shell.azure.com lub w witrynie Azure Portal wybierz przycisk Cloud Shell z poziomu kontrolek globalnych okna witryny Azure Portal.
W przypadku wybrania opcji wybierz powłokę Bash na potrzeby tego ćwiczenia szkoleniowego.
W oknie podręcznym Wprowadzenie wybierz pozycję Brak wymaganego konta magazynu. Wybierz swoją subskrypcję z listy rozwijanej Subskrypcja . Wybierz Zastosuj. Zostanie załadowany nowy terminal usługi Cloud Shell.
Uruchamiane
az
polecenia wymagają nazwy grupy zasobów i nazwy serwera logicznego Usługi Azure SQL. Aby zapisać naciśnięcia, uruchom toazure configure
polecenie, aby określić je jako wartości domyślne.Zastąp
[server-name]
ciąg nazwą utworzonego serwera logicznego Usługi Azure SQL i[resource-group]
grupą zasobów użytą dla serwera.Napiwek
Aby wkleić element do usługi Cloud Shell, użyj polecenia
Ctrl+Shift+V
zamiastCtrl+V
. UżyjCtrl+C
polecenia , aby wyczyścić bieżące polecenie z terminalu.az configure --defaults group=[resource-group] sql-server=[server-name]
Uwaga
W zależności od okienka w witrynie Azure Portal nazwa serwera SQL jest wyświetlana jako w pełni kwalifikowana nazwa domeny (FQDN) (na przykład
servername.database.windows.net
) lub autonomiczna (servername
). W tym poleceniu potrzebna jest tylko nazwa logiczna bez sufiksu.database.windows.net
.Uruchom następujące
az sql db list
polecenie, aby wyświetlić listę wszystkich baz danych na serwerze logicznym usługi Azure SQL:az sql db list
Otrzymasz duży blok JSON jako dane wyjściowe.
Ponieważ chcemy uzyskać tylko nazwy baz danych, uruchom polecenie po raz drugi. Tym razem należy jednak przekazać dane wyjściowe w celu
jq
wyświetlenia tylko pól nazw.az sql db list | jq '[.[] | {name: .name}]'
Powinny zostać wyświetlone następujące dane wyjściowe:
[ { "name": "Logistics" }, { "name": "master" } ]
Logistics
to baza danych użytkownika. Podobnie jak w programie SQL Server systemowamaster
baza danych zawiera metadane serwera, takie jak identyfikatory logowania i ustawienia konfiguracji systemu.Uruchom następujące
az sql db show
polecenie, aby uzyskać szczegółowe informacje oLogistics
bazie danych:az sql db show --name Logistics
Tak jak poprzednio dane wyjściowe zostaną wyświetlone w formie dużego bloku w formacie JSON.
Uruchom polecenie po raz drugi. Tym razem przesyłaj dane wyjściowe w celu
jq
ograniczenia danych wyjściowych tylko do nazwy, maksymalnego rozmiaru i stanu bazy danych Logistics .az sql db show --name Logistics | jq '{name: .name, maxSizeBytes: .maxSizeBytes, status: .status}'
Zobaczysz, że baza danych jest w trybie online i maksymalna ilość danych, którą może przechowywać baza danych.
{ "name": "Logistics", "maxSizeBytes": 2147483648, "status": "Online" }
Jeśli wybrano bezpłatną ofertę usługi Azure SQL Database, bezserwerowa baza danych automatycznie wstrzymuje się w celu zaoszczędzenia bezpłatnych rdzeni wirtualnych, aby zobaczyć
Logistics
bazę danych ze stanem Wstrzymano po okresie braku aktywności.
Nawiązywanie połączenia z bazą danych
Parametry połączenia zawiera wszystkie informacje potrzebne aplikacji do nawiązania połączenia z bazą danych. Mimo że nadal jesteś w usłudze Cloud Shell, zacznijmy od uzyskania parametry połączenia.
Parametry połączenia z usługi Cloud Shell
Uruchom następujące az sql db show-connection-string
polecenie, aby uzyskać parametry połączenia do Logistics
bazy danych w formacie, którego sqlcmd
można użyć:
az sql db show-connection-string --client sqlcmd
Twój wynik jest podobny do poniższego przykładu. Skopiuj te dane wyjściowe do użycia w następnym kroku.
"sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U <username> -P <password> -N -l 30"
Parametry połączenia z witryny Azure Portal
Witryna Azure Portal udostępnia parametry połączenia dla różnych dostawców danych dla bazy danych Azure SQL Database łatwo dostępne.
- W witrynie Azure Portal przejdź do bazy danych SQL.
- W menu usługi bazy danych SQL w obszarze Ustawienia wybierz pozycję Parametry połączenia.
- Wybierz żądanego dostawcę danych i metodę połączenia.
Nawiązywanie połączenia z bazą danych przy użyciu programu Visual Studio Code
Użyjmy graficznego narzędzia, aby nawiązać połączenie z nową usługą Azure SQL Database. Visual Studio Code to popularny edytor kodu typu open source dla systemów Linux, macOS i Windows. Obsługuje rozszerzenia, w tym rozszerzenie mssql. Możesz użyć rozszerzenia do wykonywania zapytań dotyczących programu SQL Server, usługi Azure SQL Database, usługi Azure SQL Managed Instance, bazy danych SQL w usłudze Fabric i innych platform.
Pobierz i zainstaluj program Visual Studio Code.
W programie Visual Studio Code otwórz widok Rozszerzenia , wybierając ikonę Rozszerzenia na pasku działań po stronie okna. Wyszukaj ciąg mssql i wybierz pozycję Zainstaluj , aby dodać rozszerzenie. oraz rozszerzenie mssql do lokalnej stacji roboczej.
Napiwek
W przypadku przyszłego tworzenia projektów aplikacji obiektów bazy danych należy również użyć rozszerzenia SQL Database Projects dla programu Visual Studio Code. To narzędzie umożliwia pracę z bazą danych w kontroli źródła, przechwytywanie istniejących schematów bazy danych, projektowanie nowych obiektów i publikowanie w bazach danych.
Na liście rozszerzeń wybierz rozszerzenie programu SQL Server .
W obszarze POŁĄCZENIA wybierz pozycję Dodaj połączenie.
Nadaj nowemu połączeniu niestandardową, pamiętną nazwę w polu Nazwa profilu.
Istnieje wiele sposobów udostępniania informacji o połączeniu:
- Wybierz pozycję Parametry , aby ręcznie wprowadzić nazwę serwera logicznego Azure SQL, nazwę bazy danych, nazwę użytkownika i hasło.
- Wybierz pozycję Parametry połączenia, aby wkleić parametry połączenia dla bazy danych, a następnie dodaj nazwę użytkownika i hasło.
- Wybierz pozycję Przeglądaj platformę Azure, aby nawiązać połączenie z subskrypcją platformy Azure w programie VS Code, a następnie wybierz nową usługę Azure SQL Database z listy.
Na potrzeby tego ćwiczenia szkoleniowego wybierz pozycję Przeglądaj platformę Azure. Połącz się z subskrypcją platformy Azure z poziomu programu VS Code.
Wybierz swoją subskrypcję z listy.
Wybierz grupę zasobów z listy.
Wybierz serwer i bazę danych z listy.
Z typem uwierzytelniania ustawionym na SQL Login podaj nazwę użytkownika i hasło utworzone w ostatnim module.
Wybierz pozycję Połącz.
Po pomyślnym nawiązaniu połączenia zostanie wyświetlone okno dialogowe Dodawanie połączenia . Jest on zastępowany przez połączenie serwera i eksplorator obiektów tabel, widoków itp.
Wykonywanie zapytań względem bazy danych przy użyciu programu Visual Studio Code
Uruchommy serię poleceń, aby wykonać podstawowe operacje CRUD (Tworzenie, odczytywanie, aktualizowanie i usuwanie) w usłudze Azure SQL Database.
Kliknij prawym przyciskiem myszy wiersz nazwy serwera w obszarze POŁĄCZENIA i wybierz pozycję Nowe zapytanie.
W nowym oknie zapytania utwórzmy nasz pierwszy obiekt bazy danych, wklejając w poniższym poleceniu, aby utworzyć nową tabelę o nazwie
Drivers
.CREATE TABLE Drivers (DriverID int IDENTITY(1,1), LastName varchar(255), FirstName varchar(255), OriginCity varchar(255)); GO
Tabela zawiera cztery kolumny: unikatowy identyfikator, imię i nazwisko kierowcy oraz miasto pochodzenia kierowcy.
Wybierz przycisk Wykonaj zapytanie, aby uruchomić polecenia języka T-SQL w oknie zapytania.
Napiwek
Aby wykonać jedno polecenie języka T-SQL wśród wielu w oknie zapytania, przeciągnij i wybierz odpowiednie zapytanie, a następnie wykonaj.
Podobnie jak prawie wszystko w programie Visual Studio Code, skróty klawiaturowe można dostosować w programie Visual Studio Code. W systemie Windows domyślnym skrótem klawiaturowym do wykonania jest
Ctrl + Shift + E
.Następnie uruchom następujące instrukcje języka T-SQL, aby sprawdzić, czy
Drivers
tabela istnieje, wysyłając zapytanie o metadane bazy danych:SELECT name FROM sys.tables; GO
Na karcie Wyniki zapytania w obszarze Wyniki powinny być widoczne
Drivers
na liście tabel.name ------- Drivers
Dodajmy wiersz do naszej tabeli. Uruchom następujące instrukcje języka T-SQL, aby dodać przykładowy wiersz do tabeli:
INSERT INTO Drivers (LastName, FirstName, OriginCity) VALUES ('Zirne', 'Laura', 'Springfield'); GO
Te dane wyjściowe wskazują, że operacja zakończyła się pomyślnie:
3:14:01 PM Started executing query at Line 7 (1 row affected) Total execution time: 00:00:00.044
Aby wyświetlić wstawiony wiersz, uruchom następujące instrukcje języka T-SQL, aby wyświetlić listę
DriverID
kolumn iOriginCity
ze wszystkich wierszy w tabeli:SELECT DriverID, OriginCity FROM Drivers; GO
Otrzymasz jeden wynik z elementem
DriverID
iOriginCity
dla wiersza utworzonego w poprzednim kroku.DriverID OriginCity ----------- -------------------------- 1 Springfield
Zaktualizujmy wiersz i zmieńmy wartość
OriginCity
. Uruchom następujące polecenie T-SQL, aby zmienić miasto pochodzenia z "Springfield" na "Boston" dla sterownika z wartościąDriverID
:1
UPDATE Drivers SET OriginCity='Boston' WHERE DriverID=1; GO
Powinien zostać wyświetlony komunikat potwierdzający wykonanie zapytania w oknie Wyniki zapytania:
3:14:29 PM Started executing query at Line 13 (1 row affected) Total execution time: 00:00:00.031
Uruchom następujące instrukcje języka T-SQL, aby ponownie wyświetlić kolumny
DriverID
iOriginCity
:SELECT DriverID, OriginCity FROM Drivers; GO
Teraz powinny zostać wyświetlone następujące dane wyjściowe. Zwróć uwagę, w jaki sposób
OriginCity
odzwierciedla aktualizację wartości Boston.DriverID OriginCity ----------- -------------------------- 1 Boston
Na koniec usuńmy ten wiersz, uruchamiając następującą instrukcję języka T-SQL, aby usunąć rekord:
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
Uruchom następujące instrukcje języka T-SQL, aby sprawdzić, czy tabela jest pusta
Drivers
:SELECT COUNT(*) FROM Drivers; GO
Zobaczysz, że tabela nie zawiera wierszy.
----------- 0
Teraz, gdy masz ogólny pomysł na pracę z usługą Azure SQL Database z poziomu usługi Cloud Shell i w programie Visual Studio. Możesz użyć parametry połączenia dla ulubionego narzędzia do zarządzania SQL, w tym programu SQL Server Management Studio, programu Visual Studio lub aplikacji niestandardowych.
Usługa Cloud Shell ułatwia uzyskiwanie dostępu do zasobów platformy Azure i pracę z nimi w dowolnym rodzaju. Ponieważ usługa Cloud Shell jest oparta na przeglądarce, można uzyskać do niej dostęp z systemu Windows, macOS lub Linux; w dowolnym systemie z przeglądarką internetową.
Zdobyliśmy praktyczne doświadczenie w uruchamianiu poleceń języka T-SQL w programie Visual Studio Code i ćwiczyliśmy umiejętności języka T-SQL.
W następnej lekcji podsuniemy ten moduł i opiszemy sposób usuwania bazy danych.