Access
 sql >> Baza danych >  >> RDS >> Access

Praca ze strukturalnym językiem zapytań (SQL) przy użyciu Microsoft Access 2010, 2013, 2016 i 2019

Wprowadzenie

Celem tego samouczka jest zademonstrowanie, w jaki sposób można pisać własne instrukcje SQL i uruchamiać je w programie Microsoft Access 2007, 2010, 2013 2016 lub 2019 (kroki są praktycznie identyczne we wszystkich wersjach). Podobnie jak w przypadku wszystkich relacyjnych baz danych, Microsoft Access może być programowany bezpośrednio przy użyciu strukturalnego języka zapytań (SQL). Podczas gdy najczęściej SQL jest ukryty przed użytkownikami, dla studentów baz danych MS Access zapewnia szybki i łatwy sposób na eksplorację SQL i pisanie dość złożonych zapytań. Jest to szczególnie przydatne, jeśli nie masz czasu lub cierpliwości, aby zainstalować SQL Server, Oracle, MySQL lub inny większy system zarządzania relacyjnymi bazami danych.

Przykłady SQL użyte w tym krótkim samouczku są oparte na prostych tabelach Customer i Accounts utworzonych jako część mojego samouczka Microsoft Access 2007, 2010 i 2013.
Możesz najpierw zapoznać się z tym samouczkiem (lub przynajmniej pierwszym kilka sekcji), aby utworzyć tabele i dodać niezbędne dane, aby te przykłady działały.

Następna sekcja zawiera bardzo krótkie wprowadzenie do języka zapytań strukturalnych (SQL).

Język zapytań strukturalnych (SQL)

Structured Query Language (SQL wymawiane jako „Sequel”) to deklaratywny język programowania używany do manipulowania systemami zarządzania relacyjnymi bazami danych (RDBMS). Został po raz pierwszy wprowadzony w IBM System R pod koniec lat siedemdziesiątych. Obecnie SQL jest używany we wszystkich głównych relacyjnych systemach DBMS, takich jak Oracle, IBM DB2, Informix, Sybase, Microsoft SQL Server, MySQL, Postgres, SQLLite, Microsoft Access i wielu innych. Chociaż każdy dostawca baz danych zapewnia dodatkowe funkcje zastrzeżone, rdzeń SQL może być używany w prawie każdej relacyjnej bazie danych.

Strukturalny język zapytań jest podzielony na dwie główne części:

  1. Język definicji danych (DDL) – służy do tworzenia (definiowania) struktur danych, takich jak schematy, tabele, indeksy, klastry, sekwencje, a także do zabezpieczania bazy danych
  2. Język manipulacji danymi (DML) — używany do wstawiania, pobierania, aktualizowania i usuwania danych z tabel.

Microsoft Access obsługuje zarówno DDL, jak i DML części SQL. Przez większość czasu koncentrujemy się na zapytaniach SQL, które jako instrukcje SQL SELECT służą do pobierania danych z istniejącej bazy danych. Podstawowa składnia instrukcji SQL SELECT to:

SELECT   column1, column2, ... columnN
FROM     tableA, tableB, ... tableZ
WHERE    condition1, condition2, ...conditionM
ORDER BY column1, column2, ... columnN

Zakładając na przykład, że mamy tabelę o nazwie Customer z kolumnami takimi jak FirstName, LastName, StreetAddress, City, state i Zip, możemy napisać instrukcję SQL SELECT w następujący sposób:

SELECT   FirstName, LastName, City, State
FROM     customer

W powyższym zapytaniu prosimy o dane w kolumnach FirstName, LastName, City i State, a tabela, z której otrzymujemy te dane, nazywa się customer. Zauważ, że język SQL nie martwi się dużymi ani małymi literami. Więc pisząc wybierz imię... to to samo co pisanie SELECT FIRSTNAME ... .

Nieco bardziej wyrafinowane zapytanie byłoby, gdybyśmy chcieli zobaczyć tylko klientów mieszkających w Gruzji i chcielibyśmy, aby wyniki były posortowane według nazwiska klienta:

SELECT   FirstName, LastName, City, State
FROM     customer
WHERE    state = 'GA'
ORDER BY LastName

Jak widać, lista kolumn, które chcemy pokazać, znajduje się za słowem kluczowym SELECT. Nazwa tabeli, o którą pytamy, następuje po słowie kluczowym FROM, warunek stan ='GA' następuje po słowie kluczowym WHERE, a na końcu wyniki są sortowane w kolumnie Nazwisko zgodnie z opisem za pomocą słowa kluczowego ORDER BY.

Istnieje wiele innych funkcji instrukcji SQL SELECT, które obejmują wysyłanie zapytań do wielu tabel przez „łączenie” ich ze sobą, grupowanie zbiorów rekordów w celu znalezienia sum, największych, najmniejszych lub średnich wartości oraz wykonywanie innych manipulacji danymi wyjściowymi, które ostatecznie zobaczą użytkownicy. O wiele bardziej wyczerpujące omówienie funkcji SQL można znaleźć pod tym linkiem.

Następna sekcja przedstawia użycie SQL z widoku Query Design w MS Access.

SQL w Microsoft Access

W tej sekcji przedstawimy kroki do napisania własnego SQL w MS Access. W tym ćwiczeniu założono, że masz uruchomiony program MS Access 2007, 2010 lub 2013 z otwartą bazą danych „Bank” (tabele Klienci i Konta). Kliknij tutaj, aby zapoznać się z samouczkiem z instrukcjami tworzenia tej bazy danych.

Aby rozpocząć:

  1. utwórz nowe zapytanie, klikając Utwórz a następnie klikając Projekt zapytania ikona jak pokazano poniżej.
  2. Pojawi się okno dialogowe „Pokaż tabelę”, jak pokazano poniżej. Kliknij Zamknij przycisk, aby go zamknąć.
  3. Kliknij kartę Projekt a następnie kliknij SQL ikona po lewej stronie (lub pociągnij w dół przycisk widoku i wybierz SQL

  4. W tym momencie pojawi się widok SQL zapytania Query1. Domyślnie słowo kluczowe SELECT jest wyświetlane w oknie.
  5. Edytuj zapytanie, aby napisać pełną instrukcję SQL:
    SELECT   firstname, lastname
    FROM     customer
    ORDER BY lastname
    
    

    Okno zapytania widoku SQL pojawi się teraz jak poniżej:

  6. W tym momencie, po wpisaniu instrukcji SQL, możemy wykonać zapytanie względem bazy danych, klikając przycisk „Uruchom” z wykrzyknikiem.

  7. Wyniki zapytania zostaną wyświetlone w widoku arkusza danych (takim jak arkusz kalkulacyjny):

  8. Aby powrócić do edycji zapytania SQL, rozwiń menu Widok i ponownie wybierz SQL.

  9. Możesz również zapisać swoje zapytanie. Aby to zrobić, kliknij prawym przyciskiem myszy zakładkę z aktualną nazwą zapytania:Query1 i wybierz Zapisz .

    Pojawi się okno dialogowe z pytaniem o nową nazwę zapytania. Wpisz nową nazwę, na przykład:Nazwy_klientów a następnie kliknij OK aby go zapisać.

  10. Wreszcie, MS Access nie umożliwia zapisywania zapytania pod nową nazwą („Zapisz jako”). Zamiast tego możesz podświetlić nazwę zapytania, kliknąć prawym przyciskiem myszy i wybrać Kopiuj następnie kliknij ponownie prawym przyciskiem myszy i wybierz Wklej . Zostaniesz poproszony o podanie nowej nazwy zapytania.

Następnie przedstawię kilka sztuczek i wskazówek dotyczących pisania i debugowania zapytań SQL.

Pisanie i debugowanie zapytań SQL w MS Access

Teraz, gdy znasz już podstawową mechanikę pisania i uruchamiania zapytań SQL, oto kilka wskazówek i wskazówek dotyczących debugowania SQL.

Edytory dla MS Access SQL

Okno edytora SQL w MS Access nie jest tak inteligentne ani łatwe w obsłudze. Jednym ze sposobów pracy z SQL jest napisanie kodu w innym edytorze, a następnie skopiowanie kodu i wklejenie go do programu Access, aby go uruchomić. Dostępnych jest wiele różnych edytorów tekstu. Na przykład w systemie Windows będziesz mieć Notatnik dostępny w grupie Akcesoria. Jedyne ostrzeżenie, jakie mogę tutaj dać, to NIE używać MS Word lub innego oprogramowania do przetwarzania tekstu do pisania SQL. Powodem tego jest to, że MS Word i inne edytory tekstu zamienią twoje pojedyncze i podwójne cytaty w „wymyślne cytaty”, których SQL nie rozumie.
Na przykład, jeśli masz klauzulę WHERE, taką jak WHERE state ='GA'
SQL oczekuje, że tekst będzie ujęty w proste cudzysłowy. Słowo MS zamieni je w fantazyjny znak cudzysłowu otwierający i zamykający, którego SQL nie zrozumie.
Jeśli pojawi się błąd, taki jak Wprowadź wartość parametru dla `GA' wtedy na pewno będziesz chciał się upewnić, że Twój tekst jest ujęty w zwykłe pojedyncze znaki cudzysłowu.

Postępowanie z błędami składni

Błędy składni mogą być bardzo frustrujące w SQL, ponieważ często baza danych nie może dokładnie wskazać, gdzie jest problem w kodzie. Oto niektóre z głównych błędów wyświetlanych w programie Access:

Tekst błędu Rozwiązanie Przykład
Wprowadź wartość parametru dla ________ Najczęściej dzieje się tak, gdy nazwa kolumny (pola) nie jest wpisana poprawnie (tak jak w tym przypadku „lstname” jest błędnie napisana) lub wyrażenie nie może być rozpoznawane jako WHERE state =`GA'
Aparat bazy danych programu Microsoft Access nie może znaleźć zapytania wejściowego lub tabeli :______________ Najczęściej dzieje się tak, gdy nazwa tabeli nie jest poprawnie wpisana w klauzuli FROM zapytania. Na przykład w tym przypadku zapytanie określone OD klientów zamiast OD klienta
Błąd składni (brak operatora) w wyrażeniu zapytania:______________ W tym przypadku w składni zapytania brakuje niektórych kluczowych części. Na przykład brakuje klauzuli „FROM”, więc program Access zgłasza przybliżoną lokalizację, w której występuje problem, wyświetlając tekst zapytania.

W następnej sekcji przedstawię kilka dodatkowych wskazówek, jak prezentować zapytania SQL i wyniki dotyczące projektu lub zadania domowego.

Dokumentowanie Twojej pracy w SQL

W tej sekcji opiszę kilka wskazówek dotyczących formatowania zapytań i wyników, aby były prezentowane w jasny, zwięzły sposób na zadaniach i projektach.
Założenie jest takie, że będziesz używać programu do edycji tekstu, takiego jak MS Word lub inny program do edycji tekstu, który obsługuje kopiowanie i wklejanie obrazów i tekstu.

MS Access nie pozwala na umieszczanie komentarzy w kodzie SQL. Inne DBMS pozwalają na to, ale Access jest nieco bardziej restrykcyjny.

W tym ćwiczeniu załóżmy, że zadaniem domowym jest pokazanie imion i nazwisk wszystkich klientów oraz uporządkowanie wyniku według nazwiska klienta.

  1. Wpisz zapytanie SQL zgodnie z opisem w poprzedniej sekcji i uruchom je, aby uzyskać wyniki:
  2. W widoku arkusza danych kliknij małe kwadratowe pole po lewej stronie nagłówków kolumn i u góry pól wyboru wierszy. Spowoduje to podświetlenie całego zestawu wyników.
  3. Kliknij prawym przyciskiem myszy to samo małe kwadratowe pole w rogu i wybierz Kopiuj z menu podręcznego.
  4. Przełącz się na MS Word (lub inny edytor tekstu) i wklej wyniki w odpowiednie miejsce:

Kilka innych przydatnych wskazówek, które zastosowano również podczas tworzenia tego dokumentu zadania:

  • Pamiętaj, aby wpisać całe zdanie opisujące zapytanie, które rozwiązujesz (nie wstawiaj tylko „pytania 1”). Na przykład możesz skopiować pytanie z pracy domowej i uczynić je częścią odpowiedzi.
  • Podczas wklejania tekstu SQL do zapytania użyj czcionki Courier New, aby znaki i odstępy były wyrównane. To znacznie ułatwia czytanie.
  • Wklej wyniki, stosując technikę pokazaną powyżej, zamiast używać zrzutu ekranu. Spowoduje to nie tylko zmniejszenie plików dokumentów programu Word, ale także wyjdzie bardzo wyraźnie podczas drukowania.
  • Pamiętaj, aby umieścić swoje imię i nazwisko, klasę/kurs i sekcję w swoim zadaniu.
  • W przypadku bardziej złożonych zapytań, które mogą obejmować zapytania podrzędne lub zapytania wbudowane, najlepiej jest ułożyć podzapytania we wcięcie, aby ułatwić ich odczytywanie i debugowanie. Na przykład, zamiast pisać podzapytanie w ten sposób:
    SELECT  accountnumber, balance
    FROM    accounts  WHERE   balance = (SELECT MIN(balance) from accounts)
    
    

    Ułóż podrzędne zapytanie w nawiasach:

    SELECT  accountnumber, balance
    FROM    accounts  
    WHERE   balance = (
                        SELECT MIN(balance) 
                        FROM   accounts
                      )
    
    

Wykonanie tych kroków zrobi świetne wrażenie, gdy oddasz swoje zadania i projekty.

Wnioski

W tym krótkim samouczku omówiliśmy, jak pracować z SQL przy użyciu MS Access. SQL jest dość ogólnym językiem programowania i wszystko, czego nauczysz się podczas pisania SQL z dostępem MS, można łatwo przenieść do innych relacyjnych baz danych, takich jak SQL Server, Oracle, Sybase itp. Więcej informacji na temat SQL można znaleźć w moim Strukturalnym języku zapytań (SQL) strona notatek kursu.

Aby uzyskać więcej wprowadzający i zaawansowany samouczek MS Access, odwiedź kategorię Dostęp na mojej stronie internetowej.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozwiązywać 10 powszechnych problemów z dostępem 2019

  2. Jakie są 6 głównych składników programu Microsoft Access?

  3. Jak wybrać przyjazną dla użytkownika bazę danych dla swojej firmy?

  4. Jak wybrać odpowiednią bazę danych dla swojej firmy

  5. 10 nietypowych porad dotyczących Microsoft Access 2019