Wprowadzenie do podstaw SQL

click fraud protection

Strukturalny język zapytań (SQL) jest jednym z podstawowych elementów nowoczesnej architektury baz danych. SQL definiuje metody używane do tworzenia relacyjnych baz danych i manipulowania nimi na wszystkich głównych platformach. Na pierwszy rzut oka język może wydawać się onieśmielający i złożony, ale nie jest to aż tak trudne.

O SQL

Prawidłowa wymowa SQL jest kwestią sporną w społeczności baz danych. W swoim standardzie SQL, American National Standards Institute zadeklarował, że oficjalna wymowa to „es queue el." Jednak wielu specjalistów od baz danych przyjęło slangową wymowę "sequel". Podobnie jak w przypadku wymowy z GIF, nie ma właściwej odpowiedzi.

SQL ma wiele odmian. Bazy danych Oracle korzystają z własnego PL/SQL. Microsoft SQL Server korzysta z Transact-SQL. Wszystkie warianty są oparte na standardzie branżowym ANSI SQL.

To wprowadzenie wykorzystuje polecenia SQL zgodne z ANSI, które działają w każdym nowoczesnym systemie relacyjnych baz danych.

DDL i DML

Polecenia SQL można podzielić na dwa główne podjęzyki. Język definicji danych zawiera polecenia używane do tworzenia i niszczenia baz danych i obiektów baz danych. Po zdefiniowaniu struktury bazy danych za pomocą DDL, administratorzy i użytkownicy bazy danych mogą używać języka manipulacji danymi do wstawiania, pobierania i modyfikowania danych w nim zawartych.

instagram viewer

SQL obsługuje trzeci typ składni o nazwie Język kontroli danych. DCL zarządza dostępem bezpieczeństwa do obiektów w bazie danych. Na przykład Skrypt DCL przyznaje lub odwołuje określone konta użytkowników prawo do odczytu lub zapisu do tabel w jednym lub więcej zdefiniowanych obszarach bazy danych. W większości zarządzanych środowisk wielu użytkowników administratorzy baz danych zwykle wykonują skrypty DCL.

Polecenia języka definicji danych

Język definicji danych służy do tworzenia i niszczenia baz danych i obiektów baz danych. Polecenia te są używane głównie przez administratorów baz danych podczas fazy instalacji i usuwania projektu bazy danych. DDL obraca się wokół czterech podstawowych poleceń:Stwórz, posługiwać się, zmieniać, i upuszczać.

Stwórz

Stwórz polecenie ustanawia bazy danych, tabele lub zapytania na twojej platformie. Na przykład polecenie:

TWORZENIE BAZY DANYCH pracowników;

tworzy pustą bazę danych o nazwie pracowników na twoim DBMS. Po utworzeniu bazy kolejnym krokiem jest utworzenie tabel zawierających dane. Inny wariant Stwórz polecenie spełnia ten cel. Komenda:

CREATE TABLE personal_info (first_name char (20) nie null, last_name char (20) not null, worker_id int nie null);

ustanawia tabelę zatytułowaną dane osobiste w aktualnej bazie danych. W przykładzie tabela zawiera trzy atrybuty: Imię, nazwisko, i numer identyfikacyjny pracownika wraz z dodatkowymi informacjami.

Posługiwać się

posługiwać się polecenie określa aktywną bazę danych. Na przykład, jeśli aktualnie pracujesz w bazie danych sprzedaży i chcesz wydać jakieś polecenia, które będą miały wpływ na bazę pracowników, poprzedź je następującym poleceniem SQL:

UŻYWAĆ pracowników;

Sprawdź dokładnie bazę danych, w której pracujesz, zanim wydasz polecenia SQL, które manipulują danymi.

Zmieniać

Po utworzeniu tabeli w bazie danych zmodyfikuj jej definicję za pomocą zmieniać polecenie, które zmienia strukturę tabeli bez jej usuwania i ponownego tworzenia. Spójrz na następujące polecenie:

ALTER TABLE personal_info DODAJ pensję pieniądze null;

Ten przykład dodaje nowy atrybut do tabeli informacje_osobiste — wynagrodzenie pracownika. pieniądze argument określa, że ​​pensje pracownika są przechowywane w formacie dolarów i centów. Wreszcie zero słowo kluczowe informuje bazę danych, że to pole może nie zawierać żadnej wartości dla danego pracownika.

Upuszczać

Ostatnie polecenie języka definicji danych, upuszczać, usuwa całe obiekty bazy danych z naszego DBMS. Na przykład, aby trwale usunąć utworzoną przez nas tabelę personal_info, użyj następującego polecenia:

DROP TABLE informacje_osobiste;

Podobnie poniższe polecenie posłużyłoby do usunięcia całej bazy danych pracowników:

UPUŚĆ pracowników BAZY DANYCH;

Używaj tego polecenia ostrożnie. upuszczać polecenie usuwa całe struktury danych z bazy danych. Jeśli chcesz usunąć pojedyncze rekordy, użyj kasować polecenie języka manipulacji danymi.

Polecenia języka manipulacji danymi

Język manipulacji danymi służy do pobierania, wstawiania i modyfikowania informacji z bazy danych. Te polecenia DML oferują typową strukturę rutynowej interakcji z bazą danych.

Wstawić

wstawić polecenie dodaje rekordy do istniejącej tabeli. Wracając do przykładu personal_info z poprzedniej sekcji, wyobraź sobie, że nasz dział HR musi dodać nowego pracownika do swojej bazy danych. Użyj polecenia podobnego do tego:

WSTAW W dane_osobiste
wartości('bart','simpson',12345,45000$);

Zauważ, że dla rekordu określone są cztery wartości. Odpowiadają one atrybutom tabeli w kolejności, w jakiej zostały zdefiniowane: Imię, nazwisko, numer identyfikacyjny pracownika i wynagrodzenie.

Wybierz

Wybierz polecenie jest najczęściej używanym poleceniem w SQL. Pobiera określone informacje z operacyjnej bazy danych. Spójrz na kilka przykładów, ponownie korzystając z tabeli personal_info z bazy danych pracowników.

Poniższe polecenie pobiera wszystkie informacje zawarte w tabeli personal_info. Gwiazdka to symbol wieloznaczny w SQL.

WYBIERZ *
Z informacje_osobiste;

Ewentualnie ogranicz atrybuty pobierane z bazy danych, określając co zostanie wybrany. Na przykład dział zasobów ludzkich może wymagać wykazu nazwisk wszystkich pracowników firmy. Następujące polecenie SQL pobierze tylko te informacje:

WYBIERZ nazwisko
Z informacje_osobiste;

gdzie Klauzula ogranicza pobierane rekordy do tych, które spełniają określone kryteria. Dyrektor generalny może być zainteresowany przeglądem dokumentacji kadrowej wszystkich wysoko opłacanych pracowników. Następujące polecenie pobiera wszystkie dane zawarte w personal_info dla rekordów o wartości wynagrodzenia większej niż 50 000 USD:

WYBIERZ *
OD informacje_osobiste
GDZIE wynagrodzenie > 50000 USD;

Aktualizacja

aktualizacja polecenie modyfikuje informacje zawarte w tabeli, zbiorczo lub pojedynczo. Załóżmy, że firma zapewnia wszystkim pracownikom 3-procentowy wzrost kosztów utrzymania w ciągu roku. Następujące polecenie SQL stosuje to uderzenie do wszystkich pracowników przechowywanych w bazie danych:

AKTUALIZUJ informacje_osobiste
SET pensja = pensja * 1,03;

Kiedy nowy pracownik, Bart Simpson, wykaże się wydajnością wykraczającą poza obowiązki, kierownictwo pragnie docenić jego wybitne osiągnięcia poprzez podwyżkę w wysokości 5000 USD. Klauzula WHERE wyróżnia Barta za tę podwyżkę:

AKTUALIZUJ informacje_osobiste
SET pensja = pensja + 5000
GDZIE identyfikator_pracownika = 12345;

Kasować

Na koniec spójrzmy na kasować Komenda. Przekonasz się, że składnia tego polecenia jest podobna do składni innych poleceń DML. Polecenie USUŃ z gdzie klauzula, usuń rekord z tabeli:

USUŃ Z osobistych_informacji
GDZIE identyfikator_pracownika = 12345;

DML obsługuje również pola agregujące. W Wybierz oświadczenie, operatory matematyczne, takie jak suma i liczyć podsumować dane w zapytaniu. Na przykład zapytanie:

wybierz count(*) z personal_info;

zlicza liczbę rekordów w tabeli.

Połączenia baz danych

ZA Przystąp Instrukcja łączy dane w kilku tabelach, aby wydajnie przetwarzać duże ilości danych. W tych stwierdzeniach tkwi prawdziwa moc bazy danych.

Aby zbadać zastosowanie podstawowego Przystąp operacja łączenia danych z dwóch tabel, kontynuuj przykład z użyciem tabeli personal_info i dodaj dodatkową tabelę do miksu. Załóżmy, że masz stół o nazwie postępowanie dyscyplinarne który został utworzony z następującym oświadczeniem:

CREATE TABLE disciplinary_action (action_id int nie null, pracownik_id int nie null, komentarze char (500));

Poniższa tabela zawiera wyniki działań dyscyplinarnych wobec pracowników firmy. Nie zawiera żadnych informacji o pracowniku poza numerem pracownika.

Załóżmy, że otrzymałeś zadanie stworzenia raportu zawierającego wykaz działań dyscyplinarnych podjętych wobec wszystkich pracowników z pensją przekraczającą 40 000 USD. Użycie operacji JOIN w tym przypadku jest proste. Pobierz te informacje za pomocą następującego polecenia:

SELECT personal_info.first_name, personal_info.last_name, dyscyplinarne_action.comments
OD personal_info WEWNĘTRZNE DOŁĄCZ disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
GDZIE personal_info.salary > 40000;

Rodzaje połączeń

Typy łączenia w SQL

Połączenia występują w kilku smakach. W instrukcji SQL pierwsza tabela (zwykle nazywana Tabela A albo Lewy stół) dołącza do drugiej tabeli (zwykle nazywanej Tabela B albo Prawy stół) w sposób uwzględniający pozycję. Tak więc, jeśli zmienisz kolejność tabel w instrukcji join, wyniki operacji będą się różnić. Główne typy sprzężenia to:

  • Połączenie wewnętrzne: Dopasowuje tylko rekordy, w których na warunek pasuje do tych samych rekordów w obu tabelach.
  • Połączenie zewnętrzne: Dopasowuje tylko rekordy z obu tabel, które wykluczać wyniki zidentyfikowane w na stan: schorzenie.
  • Prawe Dołącz: Dopasowuje wszystkie rekordy z Tabeli B oraz rekordy z Tabeli A, które pasują do na stan: schorzenie.
  • Dołącz do lewej: Dopasowuje wszystkie rekordy z Tabeli A oraz rekordy z Tabeli B, które pasują do na stan: schorzenie.
  • Połączenie krzyżowe: Dopasowuje wszystkie rekordy tak, jakby tabele były identyczne. Ten proces generuje coś, co nazywa się produkt kartezjański. Często sprzężenia krzyżowe są niepożądane, ponieważ dopasowują każdy wiersz tabeli A indywidualnie do każdego wiersza tabeli B. Tak więc, jeśli tabela A oferowała pięć rekordów, a tabela B oferowała 9 rekordów, zapytanie krzyżowe oferuje 45 wynikowych wierszy.
instagram story viewer