Skip to main content

Wprowadzenie do podstaw SQL

Kurs MySQL odc. 1: Bazy danych. Pierwsze zapytania SELECT (Czerwiec 2026)

Kurs MySQL odc. 1: Bazy danych. Pierwsze zapytania SELECT (Czerwiec 2026)
Anonim

Strukturalny język zapytań jest jednym z podstawowych elementów nowoczesnej architektury baz danych. SQL definiuje metody używane do tworzenia i manipulowania relacyjnymi bazami danych 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 wcale trudne.

O SQL

Poprawna wymowa SQL jest kwestią sporną w społeczności bazy danych. W standardzie SQL amerykański National Standards Institute oświadczył, że oficjalna wymowa to "es queue el". Jednak wielu specjalistów od baz danych wzięło udział w wymowie slangowej "sequel". Wybór nalezy do ciebie.

SQL występuje w wielu smakach. Bazy danych Oracle używają własnego PL / SQL. Microsoft SQL Server korzysta z języka Transact-SQL. Wszystkie warianty są oparte na standardowym ANSI SQL. To wprowadzenie wykorzystuje polecenia SQL zgodne z ANSI, które działają na każdym nowoczesnym systemie relacyjnej bazy danych.

DDL i DML

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

Polecenia językowe definicji danych

Język definicji danych jest używany do tworzenia i niszczenia baz danych i obiektów bazy danych. Te polecenia są używane głównie przez administratorów baz danych podczas fazy instalacji i usuwania projektu bazy danych. Oto przegląd struktury i użycia czterech podstawowych poleceń DDL:

STWÓRZ.Zainstalowanie systemu zarządzania bazami danych na komputerze umożliwia tworzenie wielu niezależnych baz danych i zarządzanie nimi. Na przykład, możesz chcieć utrzymywać bazę danych kontaktów z klientami dla twojego działu sprzedaży i bazę danych personelu dla twojego działu HR. Polecenie CREATE służy do ustalania każdej z tych baz danych na twojej platformie. Na przykład polecenie:

Utwórz pracowników DATABASE

tworzy pustą bazę danych o nazwie "pracownicy" w Twoim systemie DBMS. Po utworzeniu bazy danych następnym krokiem jest utworzenie tabel zawierających dane. W tym celu można użyć innego wariantu polecenia CREATE. Komenda:

CREATE TABLE personal_info (first_name char (20) not null, last_name char (20) not null, employee_id int null)

tworzy tabelę zatytułowaną "personal_info" w bieżącej bazie danych. W tym przykładzie tabela zawiera trzy atrybuty: first_name, last_name i employee_id wraz z dodatkowymi informacjami.

POSŁUGIWAĆ SIĘ.Polecenie USE umożliwia określenie bazy danych, z którą chcesz pracować w systemie DBMS. Na przykład, jeśli obecnie pracujesz w bazie danych sprzedaży i chcesz wydać pewne polecenia, które będą miały wpływ na bazę danych pracowników, przedmowaj im następujące polecenie SQL:

UŻYWAJ pracowników

Ważne jest, aby zawsze mieć świadomość bazy danych, nad którą pracujesz, zanim wydasz polecenia SQL manipulujące danymi.

ZMIENIAĆ.Po utworzeniu tabeli w bazie danych można zmodyfikować jej definicję. Polecenie ALTER umożliwia wprowadzanie zmian w strukturze tabeli bez jej usuwania i ponownego tworzenia. Spójrz na następujące polecenie:

ALTER TABLE personal_info DODAJ pensję pieniężną null

Ten przykład dodaje nowy atrybut do tabeli personal_info - wynagrodzenie pracownika. Argument "pieniężny" określa, że ​​pensja pracownika jest przechowywana przy użyciu formatu dolarów i centów. Wreszcie, słowo kluczowe "null" informuje bazę danych, że jest OK, ponieważ pole to nie zawiera żadnej wartości dla danego pracownika.

UPUSZCZAĆ.Ostateczne polecenie języka definicji danych, DROP, pozwala nam usuwać całe obiekty bazy danych z naszego DBMS. Na przykład, jeśli chcemy trwale usunąć utworzoną przez nas tablicę personal_info, użyjemy następującego polecenia:

DROP TABLE personal_info

Podobnie, poniższe polecenie zostanie użyte do usunięcia całej bazy danych pracowników:

Pracownicy DROP DATABASE

Używaj tego polecenia ostrożnie. Polecenie DROP usuwa całe struktury danych z bazy danych. Jeśli chcesz usunąć pojedyncze rekordy, użyj polecenia DELETE w języku manipulacji danymi.

Polecenia językowe manipulacji danymi

Język DML (Data Manipulation Language) służy do pobierania, wstawiania i modyfikowania informacji z bazy danych. Polecenia te są używane przez wszystkich użytkowników bazy danych podczas rutynowego działania bazy danych.

WSTAWIĆ.Polecenie INSERT w SQL służy do dodawania rekordów 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. Możesz użyć polecenia podobnego do tego:

INSERT INTO personal_infowartości ("bart", "simpson", 12345, 45000 USD)

Zauważ, że dla rekordu są cztery wartości. Odpowiadają one atrybutom tabeli w kolejności, w jakiej zostały zdefiniowane: first_name, last_name, employee_id i wynagrodzenia.

WYBIERZ.Polecenie SELECT jest najczęściej używaną komendą SQL. Umożliwia on użytkownikom bazy danych uzyskanie określonych informacji, które pragną, z bazy danych operacyjnych. Spójrz na kilka przykładów, ponownie używając tabeli personal_info z bazy danych pracowników.

Polecenie przedstawione poniżej pobiera wszystkie informacje zawarte w tabeli personal_info. Zauważ, że gwiazdka jest używana jako symbol wieloznaczny w SQL. Oznacza to dosłownie "Wybierz wszystko ze stołu personal_info".

WYBIERZ *Z adresu personal_info

Alternatywnie użytkownicy mogą chcieć ograniczyć atrybuty pobierane z bazy danych. Na przykład dział zasobów ludzkich może wymagać listy nazwisk wszystkich pracowników w firmie. Następujące polecenie SQL pobierze tylko te informacje:

SELECT nazwa_ostatniejZ adresu personal_info

Klauzuli WHERE można użyć do ograniczenia rekordów, które są pobierane do tych, które spełniają określone kryteria. Dyrektor generalny może być zainteresowany przeglądem dokumentacji personelu wszystkich wysoko płatnych pracowników. Następująca komenda pobiera wszystkie dane zawarte w personal_info dla rekordów, których wartość wynagrodzenia przekracza 50 000 USD:

WYBIERZ *Z adresu personal_infoGDZIE wynagrodzenie> 50000 USD

AKTUALIZACJA.Komendy UPDATE można użyć do modyfikowania informacji zawartych w tabeli, zbiorczo lub indywidualnie. Załóżmy, że firma daje wszystkim pracownikom 3-procentowy wzrost zarobków w ciągu roku. Następujące polecenie SQL może być użyte do szybkiego zastosowania tego do wszystkich pracowników przechowywanych w bazie danych:

UPDATE personal_infoSET pensja = wynagrodzenie * 1,03

Kiedy nowy pracownik Bart Simpson demonstruje wydajność wykraczającą poza obowiązki dyżurne, kierownictwo chce rozpoznać swoje gwiezdne osiągnięcia, zdobywając 5000 $. Klauzula WHERE może zostać użyta do wyróżnienia Barta dla tego podwyższenia:

UPDATE personal_infoSET pensja = wynagrodzenie + 5000 USDWHERE employee_id = 12345

KASOWAĆ.Na koniec rzućmy okiem na polecenie DELETE. Przekonasz się, że składnia tego polecenia jest podobna do innych poleceń DML. Niestety nasz najnowszy raport o zarobkach nie spełnił oczekiwań, a biedny Bart został zwolniony. Polecenie DELETE z klauzulą ​​WHERE może być użyte do usunięcia swojego rekordu z tabeli personal_info:

DELETE FROM personal_infoWHERE employee_id = 12345

DOŁĄCZ

Teraz, gdy nauczyłeś się podstaw języka SQL, czas przejść do jednej z najpotężniejszych koncepcji, jakie oferuje język - instrukcja JOIN. Instrukcja JOIN umożliwia łączenie danych w wielu tabelach w celu wydajnego przetwarzania dużych ilości danych. Te stwierdzenia są miejscem, w którym znajduje się prawdziwa moc bazy danych.

Aby zbadać użycie podstawowej operacji JOIN w celu połączenia danych z dwóch tabel, kontynuuj w przykładzie przy użyciu tabeli PERSONAL_INFO i dodaj dodatkową tabelę do miksu. Załóżmy, że masz tabelę o nazwie DISCIPLINARY_ACTION, która została utworzona za pomocą następującej instrukcji:

CREATE TABLE disciplinary_action (action_id int null, employee_id int null, komentarze char (500))

Ta tabela zawiera wyniki działań dyscyplinarnych wobec pracowników firmy. Zauważysz, że nie zawiera on żadnych informacji o pracowniku poza numerem pracownika. Łatwo sobie wyobrazić wiele scenariuszy, w których warto połączyć informacje z tabel DISCIPLINARY_ACTION i PERSONAL_INFO.

Załóżmy, że zlecono Ci utworzenie raportu zawierającego czynności dyscyplinarne przeciwko wszystkim pracownikom, których pensja przekracza 40 000 USD. Używanie operacji JOIN w tym przypadku jest proste. Możemy pobrać te informacje za pomocą następującego polecenia:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.commentsFROM personal_info, dyscyplinarnośćWHERE personal_info.employee_id = disciplinary_action.employee_idI personal_info.salary> 40000

Kod określa dwie tabele, które chcemy dołączyć do klauzuli FROM, a następnie zawiera instrukcję w klauzuli WHERE, aby ograniczyć wyniki do rekordów, które miały identyczne identyfikatory pracowników i spełniły nasze kryteria dotyczące wynagrodzenia wyższego niż 40 000 USD.