Ściągawka SQL

Obraz wstępny ściągawki SQL


W tym przewodniku znajdziesz przydatne ściągawki, które dokumentują niektóre z najczęściej używanych elementów SQL, a nawet kilka mniej popularnych. Mamy nadzieję, że pomoże to programistom – zarówno początkującym, jak i doświadczonym – w lepszym zrozumieniu języka SQL.

Użyj tego jako szybkiego odniesienia podczas programowania, pomocy w nauce, a nawet wydrukuj i powiąż go, jeśli wolisz (cokolwiek działa!).

Ale zanim przejdziemy do samego ściągawki, dla programistów, którzy mogą nie znać SQL, zacznijmy od…

Co to jest SQL

SQL oznacza Structured Query Language. Jest to język z wyboru w dzisiejszej sieci do przechowywania, manipulowania i wyszukiwania danych w relacyjnych bazach danych. Większość, jeśli nie wszystko odwiedzanych stron internetowych wykorzysta je w pewien sposób, w tym to jeden.

Oto jak wygląda podstawowa relacyjna baza danych. Ten przykład w szczególności przechowuje informacje o handlu elektronicznym, w szczególności produkty na wyprzedaży, użytkowników, którzy je kupują, oraz zapisy tych zamówień, które łączą te 2 podmioty.

Podstawowa relacyjna baza danych

Korzystając z SQL, możesz wchodzić w interakcje z bazą danych, pisząc zapytania, które po uruchomieniu zwracają wyniki spełniające podane kryteria.

Oto przykładowe zapytanie:-

WYBIERZ * OD użytkowników;

Za pomocą tej instrukcji SELECT zapytanie wybiera wszystkie dane ze wszystkich kolumn w tabeli użytkownika. Następnie zwróciłoby dane takie jak poniżej, które zwykle nazywane są zestawem wyników:-

Przykładowa tabela użytkowników

Gdybyśmy zamiast tego zastąpili znak wieloznaczny gwiazdką (*) konkretnymi nazwami kolumn, tylko dane z tych kolumn zostałyby zwrócone z zapytania.

WYBIERZ imię, nazwisko od użytkowników;

Przykładowa tabela użytkowników ze zredukowanymi kolumnami

Możemy dodać nieco złożoności do standardowej instrukcji SELECT, dodając klauzulę WHERE, która pozwala filtrować zwracane elementy.

WYBIERZ * Z produktów, GDZIE stan_zasobu <= 10 ORDER BY stock_count ASC;

To zapytanie zwróciłoby wszystkie dane z tabeli produktów o wartości zapasów mniejszej niż 10 w zestawie wyników.

Użycie słowa kluczowego ORDER BY oznacza, że ​​wyniki zostaną uporządkowane przy użyciu kolumny stock_count, od najniższych wartości do najwyższych.

Przykładowa tabela produktów

Za pomocą instrukcji INSERT INTO możemy dodawać nowe dane do tabeli. Oto podstawowy przykład dodawania nowego użytkownika do tabeli użytkowników:-

INSERT INTO użytkowników (imię, nazwisko, adres, adres e-mail)
WARTOŚCI („Tester”, „Jester”, „123 Fake Street, Sheffield, Wielka Brytania”, „[chroniony pocztą e-mail]”);

Następnie, jeśli ponownie uruchomisz zapytanie, aby zwrócić wszystkie dane z tabeli użytkownika, zestaw wyników będzie wyglądał następująco:

Przykładowa tabela z nowym wierszem

Oczywiście te przykłady pokazują tylko niewielki wybór tego, do czego zdolny jest język SQL.

SQL vs MySQL

Być może słyszałeś już o MySQL. Ważne jest, aby nie mylić tego z samym SQL, ponieważ istnieje wyraźna różnica.

SQL vs MySQLSQL jest język. Przedstawia składnię, która umożliwia pisanie zapytań zarządzających relacyjnymi bazami danych. Nic więcej.

MySQL tymczasem jest baza danych system który działa na serwerze. To narzędzia język SQL, umożliwiający pisanie zapytań przy użyciu jego składni do zarządzania bazami danych MySQL.

Oprócz MySQL istnieją inne systemy implementujące SQL. Niektóre z bardziej popularnych obejmują:

  • PostgreSQL
  • SQLite
  • Baza danych Oracle
  • Microsoft SQL Server

Instalowanie MySQL

Windows

Zalecanym sposobem instalacji MySQL w systemie Windows jest skorzystanie z instalatora, który można pobrać z Witryna MySQL.

Zainstaluj MySQL Windows

System operacyjny Mac

W systemie macOS zalecanym sposobem instalacji MySQL jest użycie natywnych pakietów, co wydaje się o wiele bardziej skomplikowane niż w rzeczywistości. Zasadniczo wymaga to również pobrania pliku instalator.

Zainstaluj MySQL Mac

Alternatywnie, jeśli wolisz używać menedżerów pakietów, takich jak Homebrew, możesz zainstalować MySQL tak:

napar zainstalować mysql

Chociaż jeśli chcesz zainstalować starszą wersję MySQL 5.7, która jest nadal powszechnie używana w Internecie, możesz:

instalacja piwa

Korzystanie z MySQL

Po zainstalowaniu MySQL w systemie, aby jak najszybciej rozpocząć pisanie zapytań SQL, zaleca się użycie aplikacji do zarządzania SQL, aby zarządzanie bazami danych było znacznie prostszym i łatwiejszym procesem.

Istnieje wiele aplikacji do wyboru, które w dużej mierze wykonują tę samą pracę, więc wybór zależy od osobistych preferencji:

  • MySQL Workbench jest rozwijany przez Oracle, właściciela MySQL.
  • HeidiSQL (Zalecane Windows) to darmowa aplikacja typu open source dla systemu Windows. Dla użytkowników macOS i Linux, Wino jest najpierw wymagane jako warunek wstępny.
  • phpMyAdmin jest bardzo popularną alternatywą, która działa w przeglądarce internetowej.
  • Sequel Pro (Zalecane macOS) jest jedyną alternatywą dla systemu macOS i naszą ulubioną dzięki przejrzystemu i łatwemu w użyciu interfejsowi.

Jeśli chcesz rozpocząć pisanie własnych zapytań SQL, zamiast spędzać czas na tworzeniu własnej bazy danych, rozważ zamiast tego zaimportowanie danych zastępczych.

Witryna MySQL zawiera wiele obojętne bazy danych które można pobrać bezpłatnie, a następnie zaimportować do aplikacji SQL.

Dummy Database MySQL

Naszym ulubionym z nich jest świat baza danych, która zawiera interesujące dane do ćwiczenia pisania zapytań SQL. Oto zrzut ekranu tabeli kraju w Sequel Pro.

Przykład Sequel Pro

To przykładowe zapytanie zwraca wszystkie kraje, w których królowa Elżbieta II jest głową państwa ����.

Przykład Sequel Pro

Podczas gdy ten zwraca wszystkie kraje europejskie o populacji przekraczającej 50 milionów wraz ze stolicą i jej populacją.

Przykład Sequel Pro

I ten ostatni zwraca średni odsetek osób mówiących po francusku w krajach, w których całkowita liczba osób mówiących po francusku jest wyższa niż 10%.

Przykład Sequel Pro

Ściągawka

Słowa kluczowe

Zbiór słów kluczowych używanych w instrukcjach SQL, opis i, w stosownych przypadkach, przykład. Niektóre z bardziej zaawansowanych słów kluczowych mają własną wydzieloną sekcję w dalszej części ściągawki.

Gdy MySQL jest wymieniony obok przykładu, oznacza to, że ten przykład dotyczy tylko baz danych MySQL (w przeciwieństwie do innych systemów baz danych).

Słowa kluczowe SQL
Słowo kluczoweOpis
DODAJDodaje nową kolumnę do istniejącej tabeli.

Przykład: Dodaje nową kolumnę o nazwie „adres e-mail” do tabeli o nazwie „użytkownicy”.

ZMIEŃ TABELĘ użytkowników
DODAJ adres e-mail varchar (255);
DODAJ OGRANICZENIETworzy nowe ograniczenie dla istniejącej tabeli, która służy do określania reguł dla dowolnych danych w tabeli.

Przykład: Dodaje nowe ograniczenie KLUCZ PODSTAWOWY o nazwie „użytkownik” w kolumnach ID i NAZWISKO.

ZMIEŃ TABELĘ użytkowników
DODAJ OGRANICZONY KLUCZ UŻYTKOWNIKA (ID, NAZWISKO);
ZMIEŃ TABELĘDodaje, usuwa lub edytuje kolumny w tabeli. Można go również używać do dodawania i usuwania ograniczeń w tabeli, jak opisano powyżej.

Przykład: Dodaje nową kolumnę logiczną o nazwie „zatwierdzony” do tabeli o nazwie „oferty”.

Oferty ALTER TABLE
DODAJ zatwierdzoną wartość logiczną;

Przykład 2: Usuwa kolumnę „zatwierdzone” z tabeli „oferty”

Oferty ALTER TABLE
Zatwierdzono DROP COLUMN;
ZMIEŃ KOLUMNĘZmienia typ danych kolumny tabeli.

Przykład: W tabeli „użytkowników” zmień kolumnę „incept_date” na „datetime”.

ZMIEŃ TABELĘ użytkowników
ALTER COLUMN incept_date datetime;
WSZYSTKOZwraca wartość true, jeśli wszystkie wartości podzapytania spełniają przesłany warunek.

Przykład: Zwraca użytkowników z większą liczbą zadań niż użytkownik z największą liczbą zadań w dziale HR (id 2)

WYBIERZ imię, nazwisko, zadania nr
OD użytkowników
GDZIE zadania_nie> WSZYSTKIE (WYBIERZ zadania OD użytkownika, GDZIE identyfikator_działu = 2);
ISłuży do łączenia oddzielnych warunków w klauzuli WHERE.

Przykład: Zwraca wydarzenia z Londynu w Wielkiej Brytanii

WYBIERZ * Z wydarzeń
GDZIE host_country = „Wielka Brytania” AND host_city = „Londyn”;
KAŻDYZwraca wartość true, jeśli którakolwiek z wartości podzapytania spełnia podany warunek.

Przykład: Zwraca produkty z tabeli produktów, które otrzymały zamówienia - przechowywane w tabeli zamówień - w ilości większej niż 5.

Wybierz nazwę
Z produktów
GDZIE productId = DOWOLNY (WYBIERZ produkt Z zamówień, GDZIE ilość> 5);
TAK JAKZmienia nazwę tabeli lub kolumny na wartość aliasu, która istnieje tylko przez czas trwania zapytania.

Przykład: Aliasy kolumna subskrypcje północno-wschodnie_użytkownika

SELECT north_east_user_subscriptions AS ne_subs
OD użytkowników
GDZIE ne_subs> 5;
ASCUżywane z ORDER BY, aby zwrócić dane w porządku rosnącym.

Przykład: Jabłka, Banany, Brzoskwinie, Rzodkiewka

POMIĘDZYWybiera wartości z podanego zakresu.

Przykład 1: Wybiera zapasy o ilości od 100 do 150.

WYBIERZ * Z magazynu
GDZIE ilość MIĘDZY 100 I 150;

Przykład 2: Wybiera zapasy o ilości NIE między 100 a 150. Alternatywnie, użycie słowa kluczowego NOT odwraca logikę i wybiera wartości spoza podanego zakresu.

WYBIERZ * Z magazynu
GDZIE ilość NIE MIĘDZY 100 ORAZ 150;
WALIZKAZmień dane wyjściowe zapytania w zależności od warunków.

Przykład: Zwraca użytkowników i ich subskrypcje wraz z nową kolumną o nazwie poziom_działania, która ocenia na podstawie liczby subskrypcji.

WYBIERZ imię, nazwisko, subskrypcje
PRZYPADEK PODCZAS subskrypcji> 10 WTEDY „Bardzo aktywny”
GDY ILOŚĆ MIĘDZY 3 A 10 NIŻ „Aktywna”
ELSE „Nieaktywny”
END AS poziomy aktywności
OD użytkowników;
CZEKDodaje ograniczenie, które ogranicza wartość, którą można dodać do kolumny.

Przykład 1 (MySQL): Daje pewność, że wszyscy użytkownicy dodani do tabeli użytkowników mają ukończone 18 lat.

UTWÓRZ użytkowników TABELI (
imię varchar (255),
wiek int,
SPRAWDŹ (wiek> = 18)
);

Przykład 2 (MySQL): Dodaje czek po utworzeniu tabeli.

ZMIEŃ TABELĘ użytkowników
DODAJ KONTROLĘ (wiek> = 18);
UTWÓRZ BAZA DANYCHTworzy nową bazę danych.

Przykład: Tworzy nową bazę danych o nazwie „websitesetup”.

CREATE DATABASE websitesetup;
UTWÓRZ TABELĘTworzy nowy stół .

Przykład: Tworzy nową tabelę o nazwie „users” w bazie danych „websitesetup”.

UTWÓRZ użytkowników TABELI (
id int,
imię varchar (255),
nazwisko varchar (255),
adres varchar (255),
contact_number int
);
DOMYŚLNAUstawia wartość domyślną dla kolumny;

Przykład 1 (MySQL): Tworzy nową tabelę o nazwie Produkty, która ma kolumnę nazwy z wartością domyślną „Nazwa symbolu zastępczego” i kolumnę dostępna z domyślną wartością dzisiejszej daty.

Produkty CREATE TABLE (
id int,
nazwa varchar (255) DOMYŚLNA „Nazwa zastępcza”,
dostępne_od daty DEFAULT GETDATE ()
);

Przykład 2 (MySQL): To samo co powyżej, ale edycja istniejącej tabeli.

Produkty ALTER TABLE
ZMIEŃ nazwę USTAW DOMYŚLNĄ nazwę zastępczą,
ALTER available_from SET DEFAULT GETDATE ();
USUNĄĆUsuń dane z tabeli.

Przykład: Usuwa użytkownika o identyfikatorze użytkownika 674.

USUŃ OD UŻYTKOWNIKÓW GDZIE identyfikator_użytkownika = 674;
DESCUżywany z ORDER BY, aby zwrócić dane w malejącej kolejności.

Przykład: Rzodkiewka, brzoskwinie, banany, jabłka

DROP COLUMNUsuwa kolumnę z tabeli.

Przykład: Usuwa kolumnę first_name z tabeli użytkowników.

ZMIEŃ TABELĘ użytkowników
DROP COLUMN imię
DROP DATABASEUsuwa całą bazę danych.

Przykład: Usuwa bazę danych o nazwie „konfiguracja witryny”.

DROP DATABASE websitesetup;
USUŃ DOMYŚLNIEUsuwa domyślną wartość dla kolumny.

Przykład (MySQL): Usuwa wartość domyślną z kolumny „nazwa” w tabeli „produkty”.

Produkty ALTER TABLE
ALTER COLUMN nazwa DROP DEFAULT;
TABELA UPUSZCZANIAUsuwa tabelę z bazy danych.

Przykład: Usuwa tabelę użytkowników.

Użytkownicy DROP TABLE;
ISTNIEJESprawdza istnienie dowolnego rekordu w podzapytaniu, zwracając wartość true, jeśli zwracany jest jeden lub więcej rekordów.

Przykład: Wyświetla listę wszystkich dealerów, których procent finansowania transakcji jest mniejszy niż 10.

Wybierz nazwę dealera
OD dealerów
GDZIE ISTNIEJE (WYBIERZ nazwę transakcji Z transakcji, GDZIE identyfikator dealera = oferty < 10);
ODOkreśla, z której tabeli wybrać lub usunąć dane.

Przykład: Wybiera dane z tabeli użytkowników.

WYBIERZ menedżera obszaru
OD menedżerów obszaru
GDZIE ISTNIEJE (WYBIERZ NAZWĘ PRODUKTU Z PRODUKTÓW, GDZIE identyfikator_obsługi_obszaru = okazje. Identyfikator_dzierżawy_ID ORAZ cena < 20);
WUżywany obok klauzuli WHERE jako skrót dla wielu warunków LUB.

Więc zamiast:-

WYBIERZ * OD użytkowników
GDZIE kraj = „USA” LUB kraj = „Wielka Brytania” LUB kraj = „Rosja” LUB kraj = „Australia”;

Możesz użyć:-

WYBIERZ * OD użytkowników
GDZIE kraj IN („USA”, „Wielka Brytania”, „Rosja”, „Australia”);
WŁÓŻ WDodaj nowe wiersze do tabeli.

Przykład: Dodaje nowy pojazd.

INSERT INTO samochody (marka, model, przebieg, rok)
WARTOŚCI („Audi”, „A3”, 30000, 2016);
JEST NULLTestuje wartości puste (NULL).

Przykład: Zwraca użytkowników, którzy nie otrzymali numeru kontaktowego.

WYBIERZ * OD użytkowników
GDZIE numer_kontaktu ma wartość NULL;
NIE JEST NULLOdwrotna wartość NULL. Testuje wartości, które nie są puste / NULL.
LUBIĆZwraca wartość true, jeśli wartość argumentu pasuje do wzorca.

Przykład: Zwraca prawdę, jeśli imię użytkownika kończy się na „syn”.

WYBIERZ * OD użytkowników
GDZIE imię LIKE „% son”;
NIEZwraca wartość true, jeśli rekord NIE spełnia warunku.

Przykład: Zwraca true, jeśli imię użytkownika nie kończy się na „syn”.

WYBIERZ * OD użytkowników
GDZIE imię NIE LUBI '% son';
LUBUżywane obok GDZIE w celu uwzględnienia danych, gdy spełniony jest dowolny warunek.

Przykład: Zwraca użytkowników mieszkających w Sheffield lub Manchester.

WYBIERZ * OD użytkowników
GDZIE miasto = „Sheffield” LUB „Manchester”;
ZAMÓW PRZEZSłuży do sortowania danych wynikowych w porządku rosnącym (domyślnym) lub malejącym za pomocą słów kluczowych ASC lub DESC.

Przykład: Zwraca kraje w kolejności alfabetycznej.

WYBIERZ * Z krajów
ORDER BY name;
ROWNUMZwraca wyniki, gdy numer wiersza spełnia przesłany warunek.

Przykład: Zwraca 10 najlepszych krajów z tabeli krajów.

WYBIERZ * Z krajów
GDZIE ROWNUM <= 10;
WYBIERZSłuży do wybierania danych z bazy danych, które są następnie zwracane w zestawie wyników.

Przykład 1: Wybiera wszystkie kolumny od wszystkich użytkowników.

WYBIERZ * OD użytkowników;

Przykład 2: Wybiera kolumny imię i nazwisko spośród wszystkich użytkowników. Xxx

WYBIERZ imię, nazwisko OD użytkowników;
WYBIERZ ODRÓŻNIENIENazwy jako WYBIERZ, z wyjątkiem duplikatów wartości są wykluczone.

Przykład: Tworzy tabelę kopii zapasowych na podstawie danych z tabeli użytkowników.

WYBIERZ * INTO usersBackup2020
OD użytkowników;
WYBIERZ DOKopiuje dane z jednej tabeli i wstawia je do drugiej.

Przykład: Zwraca wszystkie kraje z tabeli użytkowników, usuwając wszelkie zduplikowane wartości (co byłoby wysoce prawdopodobne)

WYBIERZ ODRÓŻNIJ kraj od użytkowników;
WYBIERZ TOPUmożliwia zwrócenie określonej liczby rekordów do zwrócenia z tabeli.

Przykład: Zwraca 3 najlepsze samochody z tabeli samochodów.

WYBIERZ TOP 3 * Z samochodów;
ZESTAWUżywane wraz z UPDATE do aktualizacji istniejących danych w tabeli.

Przykład: Aktualizuje wartości i wartości ilościowe dla zamówienia o identyfikatorze 642 w tabeli zamówień.

AKTUALIZACJE zamówień
Wartość SET = 19,49, ilość = 2
GDZIE id = 642;
TROCHĘIdentyczny jakikolwiek.
TOPUżywane razem z SELECT, aby zwrócić określoną liczbę rekordów z tabeli.

Przykład: Zwraca 5 najlepszych użytkowników z tabeli użytkowników.

WYBIERZ TOP 5 * OD użytkowników;
TABELA ŚCIEŻKIPodobnie jak DROP, ale zamiast usuwania tabeli i jej danych, usuwa tylko dane.

Przykład: Opróżnia tabelę sesji, ale sama tabela pozostaje nietknięta.

Sesje TRUNCATE TABLE;
UNIAŁączy wyniki z 2 lub więcej instrukcji SELECT i zwraca tylko odrębne wartości.

Przykład: Zwraca miasta z tabel zdarzeń i abonentów.

WYBIERZ miasto Z wydarzeń
UNIA
WYBIERZ miasto od subskrybentów;
UNION ALLTo samo co UNION, ale zawiera zduplikowane wartości.
WYJĄTKOWYTo ograniczenie zapewnia, że ​​wszystkie wartości w kolumnie są unikalne.

Przykład 1 (MySQL): Dodaje unikalne ograniczenie do kolumny id podczas tworzenia nowej tabeli użytkowników.

UTWÓRZ użytkowników TABELI (
id int NOT NULL,
nazwa varchar (255) NOT NULL,
Unikalny identyfikator)
);

Przykład 2 (MySQL): Zmienia istniejącą kolumnę, aby dodać ograniczenie UNIQUE.

ZMIEŃ TABELĘ użytkowników
DODAJ UNIKALNY (id);
AKTUALIZACJAAktualizuje istniejące dane w tabeli.

Przykład: Aktualizuje przebieg i wartości serwisowe Zależne od pojazdu o identyfikatorze 45 w tabeli samochodów.

AKTUALIZUJ samochody
USTAW przebieg = 23500, serviceDue = 0
GDZIE id = 45;
WARTOŚCIUżywany obok słowa kluczowego INSERT INTO w celu dodania nowych wartości do tabeli.

Przykład: Dodaje nowy samochód do tabeli samochodów.

INSERT INTO samochody (nazwa, model, rok)
WARTOŚCI („Ford”, „Fiesta”, 2010);
GDZIEFiltruje wyniki, aby uwzględnić tylko dane spełniające podany warunek.

Przykład: Zwraca zamówienia o ilości większej niż 1 pozycja.

WYBIERZ * Z zamówień
GDZIE ilość> 1;

Komentarze

Komentarze pozwalają wyjaśnić sekcje instrukcji SQL lub skomentować kod i uniemożliwić jego wykonanie.

W SQL są 2 rodzaje komentarzy, jedno- i wielowierszowe.

Komentarze jednowierszowe

Komentarze w jednym wierszu zaczynają się od -. Tekst po tych 2 znakach do końca wiersza zostanie zignorowany.

-- Zapytanie My Select
WYBIERZ * OD użytkowników;

Komentarze wielowierszowe

Komentarze wielowierszowe zaczynają się od / *, a kończą na * /. Rozciągają się przez wiele linii, aż zostaną znalezione zamykające znaki.

/ *
To jest moje wybrane zapytanie.
Pobiera wszystkie wiersze danych z tabeli użytkowników
* /
WYBIERZ * OD użytkowników;

/ *
To kolejne wybrane zapytanie, którego jeszcze nie chcę wykonać

WYBIERZ * Z zadań;
* /

Typy danych MySQL

Podczas tworzenia nowej tabeli lub edycji istniejącej musisz określić typ danych, które akceptuje każda kolumna.

W poniższym przykładzie dane przekazywane do kolumny id muszą być liczbą całkowitą, podczas gdy kolumna first_name ma typ danych VARCHAR o maksymalnej długości 255 znaków.

UTWÓRZ użytkowników TABELI (
id int,
imię varchar (255)
);

Typy danych ciągów

Typy danych ciągów
Typ danychOpis
CHAR (rozmiar)Ciąg o stałej długości, który może zawierać litery, cyfry i znaki specjalne. Parametr size określa maksymalną długość łańcucha, od 0 do 255 z domyślną wartością 1.
VARCHAR (rozmiar)Ciąg o zmiennej długości podobny do CHAR (), ale o maksymalnej długości ciągu od 0 do 65535.
BINARY (rozmiar)Podobne do CHAR (), ale przechowuje ciągi bajtów binarnych.
VARBINARY (rozmiar)Podobne do VARCHAR (), ale dla ciągów binarnych bajtów.
TINYBLOBPrzechowuje duże obiekty binarne (BLOB) o maksymalnej długości 255 bajtów.
TINYTEXTPrzechowuje ciąg o maksymalnej długości 255 znaków. Zamiast tego użyj VARCHAR (), ponieważ jest pobierany znacznie szybciej.
Rozmiar czcionki)Przechowuje ciąg o maksymalnej długości 65535 bajtów. Ponownie, lepiej użyć VARCHAR ().
BLOB (rozmiar)Przechowuje duże obiekty binarne (BLOB) o maksymalnej długości 65535 bajtów.
MEDIUMTEXTPrzechowuje ciąg o maksymalnej długości 16 777 215 znaków.
MEDIUMBLOBPrzechowuje duże obiekty binarne (BLOB) o maksymalnej długości 16 777 215 bajtów.
LONGTEXTPrzechowuje ciąg o maksymalnej długości 4 294 967 295 znaków.
LONGBLOBPrzechowuje duże obiekty binarne (BLOB) o maksymalnej długości 4 294 967 295 bajtów.
ENUM (a, b, c itp.)Obiekt łańcuchowy, który ma tylko jedną wartość wybraną z listy wartości, które zdefiniujesz, maksymalnie do 65535 wartości. Jeśli zostanie dodana wartość, której nie ma na tej liście, zamiast niej zostanie zastąpiona pustą wartością. Pomyśl, że ENUM jest pod tym względem podobny do radioodbiorników HTML.

Koszulki CREATE TABLE (kolor ENUM („czerwony”, „zielony”, „niebieski”, „żółty”, „fioletowy”));
ZESTAW (a, b, c itp.)Obiekt ciągu, który może mieć 0 lub więcej wartości, wybranych z listy wartości, które zdefiniujesz, maksymalnie do 64 wartości. Pomyśl pod tym względem, że SET jest podobny do pól wyboru HTML.

Typy danych liczbowych

Typy danych ciągów
Typ danychOpis
BIT (rozmiar)Typ wartości bitowej z domyślną wartością 1. Dozwoloną liczbę bitów w wartości ustawia się za pomocą parametru size, który może przechowywać wartości od 1 do 64.
TINYINT (rozmiar)Bardzo mała liczba całkowita z podpisanym zakresem od -128 do 127 i niepodpisanym zakresem od 0 do 255. Tutaj parametr size określa maksymalną dozwoloną szerokość wyświetlania, która wynosi 255.
BOOLZasadniczo szybki sposób ustawienia kolumny na TINYINT o rozmiarze 1,0 jest uważany za fałszywy, a 1 za prawdziwy.
BOOLEANTaki sam jak BOOL.
SMALLINT (rozmiar)Mała liczba całkowita z podpisanym zakresem od -32768 do 32767 i niepodpisanym zakresem od 0 do 65535. Tutaj parametr size określa maksymalną dozwoloną szerokość wyświetlania, która wynosi 255.
MEDIUMINT (rozmiar)Średnia liczba całkowita z podpisanym zakresem od -8388608 do 8388607 i niepodpisanym zakresem od 0 do 16777215. Tutaj parametr size określa maksymalną dozwoloną szerokość wyświetlania, która wynosi 255.
INT (rozmiar)Średnia liczba całkowita z podpisanym zakresem od -2147483648 do 2147483647 i niepodpisanym zakresem od 0 do 4294967295. Tutaj parametr size określa maksymalną dozwoloną szerokość wyświetlania, która wynosi 255.
INTEGER (rozmiar)Taki sam jak INT.
BIGINT (rozmiar)Średnia liczba całkowita z podpisanym zakresem od -9223372036854775808 do 9223372036854775807 i niepodpisany zakres od 0 do 18446744073709551615. Tutaj parametr size określa maksymalną dozwoloną szerokość wyświetlania, która wynosi 255.
PŁYWAK (p)Liczba zmiennoprzecinkowa. Jeśli parametr precyzji (p) zawiera się w przedziale od 0 do 24, wówczas typ danych jest ustawiony na FLOAT (), a jeśli wynosi od 25 do 53, typ danych jest ustawiony na DOUBLE (). Takie zachowanie ma na celu usprawnienie przechowywania wartości.
DOUBLE (rozmiar, d)Liczba zmiennoprzecinkowa, w której całkowita liczba cyfr jest ustawiana przez parametr rozmiaru, a liczba cyfr po przecinku jest ustawiana przez parametr d.
DECIMAL (rozmiar, d)Dokładna stała liczba punktów, w której całkowita liczba cyfr jest ustalana przez parametry rozmiaru, a całkowita liczba cyfr po przecinku jest ustawiana przez parametr d.

W przypadku rozmiaru maksymalna liczba wynosi 65, a wartość domyślna to 10, natomiast w przypadku d maksymalna liczba to 30, a wartość domyślna to 10.

DEC (rozmiar, d)Taki sam jak DECIMAL.

Typy danych daty / godziny

Typy danych daty / godziny
Typ danychOpis
DATAProsta data w formacie RRRR-MM – DD, z obsługiwanym zakresem od „1000-01-01” do „9999-12-31”.
DATETIME (fsp)Data i godzina w formacie RRRR-MM-DD gg: mm: ss, z obsługiwanym zakresem od „1000-01-01 00:00:00” do „9999-12-31 23:59:59”.

Dodając DEFAULT i ON UPDATE do definicji kolumny, automatycznie ustawia bieżącą datę / godzinę.

TIMESTAMP (fsp)Uniksowy znacznik czasu, który jest wartością odnoszącą się do liczby sekund od epoki Uniksa („1970-01-01 00:00:00” UTC). Obsługiwany jest zakres od „1970-01-01 00:00:01” UTC do „2038-01-09 03:14:07” UTC.

Dodając DEFAULT CURRENT_TIMESTAMP i ON UPDATE CURRENT TIMESTAMP do definicji kolumny, automatycznie ustawia bieżącą datę / godzinę.

CZAS (fsp)Czas w formacie gg: mm: ss, z obsługiwanym zakresem od „-838: 59: 59” do „838: 59: 59”.
ROKRok z obsługiwanym zakresem od „1901” do „2155”.

Operatorzy

Operatory arytmetyczne

Operatory arytmetyczne
OperatorOpis
+Dodaj
-Odejmować
*Zwielokrotniać
/Podzielić
%Modulo

Operator bitowy

Operatory bitowe
OperatorOpis
IBitowe AND
|Bitowe OR
^Wyłącznie bitowe OR

Operatory porównania

Operatory porównania
OperatorOpis
=Równy
>Lepszy niż
<Mniej niż
> =Większe bądź równe
<=Mniejszy lub równy
<>Nie równy

Operatory złożone

Operatory złożone
OperatorOpis
+=Dodaj równe
-=Odejmij równa się
* =Pomnóż równa się
/ =Podział jest równy
% =Modulo jest równe
I =Bitowe AND jest równe
^ - =Wyłączność bitowa równa się
| * =Bitowe OR jest równe

Funkcje

Funkcje ciągów

Funkcje ciągów
ImięOpis
ASCIIZwraca równoważną wartość ASCII dla określonego znaku.
CHAR_LENGTHZwraca długość znaku ciągu.
CHARACTER_LENGTHTaki sam jak CHAR_LENGTH.
CONCATDodaje wyrażenia razem, z minimum 2.
CONCAT_WSDodaje wyrażenia razem, ale z separatorem między każdą wartością.
POLEZwraca wartość indeksu względem pozycji wartości na liście wartości.
ZNAJDŹ W ZESTAWIEZwraca pozycję ciągu na liście ciągów.
FORMATPo przekazaniu liczby zwraca liczbę sformatowaną tak, aby zawierała przecinki (np. 3 400 000).
WSTAWIĆUmożliwia wstawienie jednego ciągu do drugiego w określonym punkcie dla określonej liczby znaków.
INSTRZwraca pozycję, w której pierwszy ciąg pojawia się w innym.
LCASEKonwertuj ciąg na małe litery.
LEWOZaczynając od lewej, wyodrębnij podaną liczbę znaków z łańcucha i zwróć je jako inną.
DŁUGOŚĆZwraca długość ciągu, ale w bajtach.
ZNAJDŹZwraca pierwsze wystąpienie jednego ciągu w innym,
NIŻSZYTaki sam jak LCASE.
LPADLewy nakłada jeden ciąg na drugi na określoną długość.
LTRIMUsuń wszelkie spacje wiodące z podanego ciągu.
ŚRODEKWydobywa jeden ciąg z drugiego, zaczynając od dowolnej pozycji.
POZYCJAZwraca pozycję pierwszego pojawienia się jednego podłańcucha w innym.
POWTARZAĆPozwala powtórzyć ciąg
ZASTĄPIĆPozwala zastąpić dowolne wystąpienia podłańcucha w łańcuchu nowym podciągiem.
ODWRÓCIĆOdwraca ciąg.
DOBRZEZaczynając od prawej, wyodrębnij podaną liczbę znaków z łańcucha i zwróć je jako inną.
RPADPrawa nakłada jeden ciąg na drugi, na określoną długość.
RTRIMUsuwa spacje końcowe z podanego ciągu.
PRZESTRZEŃZwraca ciąg pełen spacji równy ilości, którą przekazujesz.
STRCMPPorównuje 2 ciągi różnic
SUBSTRWydobywa jeden podciąg z drugiego, zaczynając od dowolnej pozycji.
SUBSTRINGTaki sam jak SUBSTR
SUBSTRING_INDEXZwraca podciąg z ciągu znaków, zanim znaleziony podciąg zostanie znaleziony, ile razy jest równy przekazanej liczbie.
TRYMUsuwa spacje końcowe i początkowe z podanego ciągu. Tak samo, jakbyś uruchamiał LTRIM i RTRIM razem.
UCASEKonwertuj ciąg na wielkie litery.
GÓRNYTaki sam jak UCASE.

Funkcje numeryczne

Funkcje numeryczne
ImięOpis
ABSZwraca wartość bezwzględną podanej liczby.
ACOSZwraca arcus cosinus dla podanej liczby.
JAK WZwraca sinus łukowy dla podanej liczby.
ATANZwraca tangens łuku jednej lub dwóch podanych liczb.
ATAN2Zwraca tangens łuku z 2 podanych liczb.
AVGZwraca średnią wartość podanego wyrażenia.
STROPOWAĆZwraca najbliższą liczbę całkowitą (liczbę całkowitą) w górę od podanej liczby dziesiętnej.
SUFITTaki sam jak CEIL.
SAŁATAZwraca cosinus podanej liczby.
ŁÓŻKO SKŁADANEZwraca cotangens podanej liczby.
LICZYĆZwraca liczbę rekordów zwracanych przez zapytanie SELECT.
STOPNIKonwertuje wartość radianów na stopnie.
DIVUmożliwia podział liczb całkowitych.
Termin ważnościZwraca e do potęgi podanej liczby.
PIĘTROZwraca najbliższą liczbę całkowitą (liczbę całkowitą) w dół od podanej liczby dziesiętnej.
NAJWIĘKSZYZwraca najwyższą wartość z listy argumentów.
NAJMNIEJZwraca najmniejszą wartość z listy argumentów.
LNZwraca logarytm naturalny dla podanej liczby
LOGZwraca logarytm naturalny podanej liczby lub logarytm podanej liczby do podanej bazy
LOG10Robi to samo co LOG, ale bazuje na 10.
LOG2Robi to samo co LOG, ale bazuje na 2.
MAXZwraca najwyższą wartość z zestawu wartości.
MINZwraca najniższą wartość z zestawu wartości.
MODZwraca pozostałą część podanej liczby podzieloną przez drugą podaną liczbę.
Liczba PiZwraca PI.
POWZwraca wartość podanej liczby podniesioną do potęgi drugiej podanej liczby.
MOCTaki sam jak POW.
RADIANYKonwertuje wartość stopni na radiany.
SKRAJZwraca liczbę losową.
OKRĄGŁYZaokrąglij podaną liczbę do podanej liczby miejsc po przecinku.
ZNAKZwraca znak podanej liczby.
GRZECHZwraca sinus podanej liczby.
SQRTZwraca pierwiastek kwadratowy z podanej liczby.
SUMAZwraca połączoną wartość podanego zestawu wartości.
DĘBNIKZwraca tangens podanej liczby.
ŚCIĘTYZwraca liczbę obciętą do podanej liczby miejsc dziesiętnych.

Funkcje daty

Funkcje daty
ImięOpis
DODAJDodaj przedział dat (np .: 10 DZIEŃ) do daty (np .: 20/01/20) i zwróć wynik (np .: 20/01/30).
DODAJ CZASDodaj przedział czasu (np .: 02:00) do godziny lub daty i godziny (05:00) i zwróć wynik (07:00).
CURDATEUzyskaj aktualną datę.
BIEŻĄCA DATATaki sam jak CURDATE.
OBECNY CZASUzyskaj aktualny czas.
CURRENT_TIMESTAMPUzyskaj aktualną datę i godzinę.
CZASTaki sam jak CURRENT_TIME.
DATAWyodrębnia datę z wyrażenia daty i godziny.
DATEDIFFZwraca liczbę dni między 2 podanymi datami.
DATA_ADDTaki sam jak ADDDATE.
FORMAT DATYFormatuje datę do podanego wzoru.
DATA_SUBOdejmij przedział dat (np. 10 DZIEŃ) od daty (np .: 20.01.2020) i zwróć wynik (np .: 20.01.10).
DZIEŃZwraca dzień dla podanej daty.
NAZWA DNIAZwraca nazwę dnia tygodnia dla podanej daty.
DZIEŃ TYGODNIAZwraca indeks dla dnia tygodnia dla podanej daty.
DZIEŃ ROKUZwraca dzień roku dla podanej daty.
WYCIĄGWyciąg z daty danej części (np. MIESIĄC dla 20.01.20 = 01).
OD DNIZwraca datę z podanej wartości liczbowej daty.
GODZINAZwróć godzinę od podanej daty.
OSTATNI DZIEŃUzyskaj ostatni dzień miesiąca dla podanej daty.
CZAS LOKALNYPobiera bieżącą lokalną datę i godzinę.
LOCALTIMESTAMPTaki sam jak LOCALTIME.
MAKEDATETworzy datę i zwraca ją na podstawie podanych wartości roku i liczby dni.
MAKETIMETworzy czas i zwraca go na podstawie podanych godzin, minut i sekund.
MIKROSEKUNDAZwraca mikrosekundę z określonego czasu lub godziny danych.
MINUTAZwraca minutę podanego czasu lub godziny danych.
MIESIĄCZwraca miesiąc podanej daty.
NAZWA MIESIĄCAZwraca nazwę miesiąca podanej daty.
TERAZTaki sam jak LOCALTIME.
PERIOD_ADDDodaje określoną liczbę miesięcy do podanego okresu.
PERIOD_DIFFZwraca różnicę między 2 podanymi okresami.
JEDNA CZWARTAZwraca kwartał roku dla podanej daty.
DRUGAZwraca sekundę z podanego czasu lub godziny.
SEC_TO_TIMEZwraca czas na podstawie podanych sekund.
STR_TO_DATETworzy datę i zwraca ją na podstawie podanego ciągu i formatu.
SUBDATETaki sam jak DATE_SUB.
SUBTIMEOdejmuje przedział czasu (np .: 02:00) do godziny lub godziny danych (05:00) i zwraca wynik (03:00).
SYSDATETaki sam jak LOCALTIME.
CZASZwraca czas z podanego czasu lub godziny.
FORMAT CZASUZwraca podany czas w podanym formacie.
TIME_TO_SECKonwertuje i zwraca czas na sekundy.
TIMEDIFFZwraca różnicę między 2 podanymi wyrażeniami czas / data / godzina.
ZNAK CZASUZwraca wartość daty i godziny dla podanej daty lub godziny.
TO_DAYSZwraca całkowitą liczbę dni, które upłynęły od „00 -00-0000” do podanej daty.
TYDZIEŃZwraca numer tygodnia dla podanej daty.
DZIEŃ POWSZEDNIZwraca numer dnia tygodnia dla podanej daty.
WEEKOFYEARZwraca numer tygodnia dla podanej daty.
ROKZwraca rok od podanej daty.
ROK TYGODNIOWYZwraca numer roku i tygodnia dla podanej daty.

Różne funkcje

Różne funkcje
ImięOpis
KOSZZwraca podaną liczbę w formacie binarnym.
DWÓJKOWYZwraca podaną wartość jako ciąg binarny.
ODLEWKonwertuj jeden typ na inny.
ŁĄCZYĆZ listy wartości zwróć pierwszą wartość inną niż null.
CONNECTION_IDDla bieżącego połączenia zwróć unikalny identyfikator połączenia.
CONVKonwertuj podaną liczbę z jednego numerycznego systemu bazowego na inny.
KONWERTOWAĆKonwertuj podaną wartość na podany typ danych lub zestaw znaków.
AKTUALNY UŻYTKOWNIKZwraca nazwę użytkownika i hosta, które zostały użyte do uwierzytelnienia na serwerze.
BAZA DANYCHUzyskaj nazwę bieżącej bazy danych.
GRUPUJ WEDŁUGUżywany obok funkcji agregujących (COUNT, MAX, MIN, SUM, AVG) do grupowania wyników.

Przykład: Podaje liczbę użytkowników z aktywnymi zamówieniami.

WYBIERZ LICZBĘ (identyfikator_użytkownika), zamówienia aktywne
OD użytkowników
GROUP BY active_orders;
MAJĄCYJest używany zamiast GDZIE z funkcjami agregującymi.

Przykład: Wyświetla liczbę użytkowników z aktywnymi zamówieniami, ale obejmuje tylko użytkowników z więcej niż 3 aktywnymi zamówieniami.

WYBIERZ LICZBA (identyfikator_użytkownika), porządki_ aktywne
OD użytkowników
GROUP BY active_orders
Mając LICZBA (identyfikator_użytkownika)> 3;
GDYBYJeśli warunek jest prawdziwy, zwróć wartość, w przeciwnym razie zwróć inną wartość.
IFNULLJeśli podane wyrażenie jest równe null, zwróć podaną wartość.
ISNULLJeśli wyrażenie ma wartość NULL, zwróć 1, w przeciwnym razie zwróć 0.
LAST_INSERT_IDDla ostatniego wiersza, który został dodany lub zaktualizowany w tabeli, zwróć identyfikator automatycznego przyrostu.
NULLIFPorównuje 2 podane wyrażenia. Jeśli są równe, zwracane jest NULL, w przeciwnym razie zwracane jest pierwsze wyrażenie.
SESSION_USERZwróć bieżącego użytkownika i nazwy hostów.
SYSTEM_USERTaki sam jak SESSION_USER.
UŻYTKOWNIKTaki sam jak SESSION_USER.
WERSJAZwraca bieżącą wersję MySQL zasilającą bazę danych.

Znaki wieloznaczne

W SQL symbole wieloznaczne są znakami specjalnymi używanymi ze słowami kluczowymi LIKE i NOT LIKE, które pozwalają nam wyszukiwać dane według wyrafinowanych wzorców znacznie wydajniej

Symbole wieloznaczne
ImięOpis
%Odpowiada zero lub więcej znaków.

Przykład 1: Znajdź wszystkich użytkowników o nazwiskach kończących się na „syn”.

WYBIERZ * OD użytkowników
GDZIE nazwisko LIKE „% syn”;

Przykład 2: Znajdź wszystkich użytkowników mieszkających w miastach ze wzorem „che”

WYBIERZ * OD użytkowników
GDZIE PODOBNE miasto „% che%”;
_Odpowiada dowolnemu pojedynczemu znakowi.

Przykład: Znajdź wszystkich użytkowników mieszkających w miastach zaczynających się na 3 dowolne znaki, a następnie „chester”.

WYBIERZ * OD użytkowników
GDZIE PODOBNE miasto „___chester”;
[lista]Odpowiada dowolnemu pojedynczemu znakowi na liście.

Przykład 1: Znajdź wszystkich użytkowników o imionach rozpoczynających się od J, H lub M..

WYBIERZ * OD użytkowników
GDZIE imię LIKE „[jhm]%”;

Przykład 2: Znajdź wszystkich użytkowników o imionach rozpoczynających się literami od A do L.

WYBIERZ * OD użytkowników
GDZIE imię LIKE „[a-l]%”;

Przykład 3: Znajdź wszystkich użytkowników o imionach nie kończących się literami pomiędzy n - s.

WYBIERZ * OD użytkowników
GDZIE imię LIKE „% [! N-s]”;

Klucze

W relacyjnych bazach danych istnieje koncepcja kluczy głównych i kluczy obcych. W tabelach SQL są one uwzględniane jako ograniczenia, w których tabela może mieć klucz podstawowy, klucz obcy lub jedno i drugie.

Główny klucz

Klucz podstawowy umożliwia jednoznaczną identyfikację każdego rekordu w tabeli. Może istnieć tylko jeden klucz podstawowy na tabelę i możesz przypisać to ograniczenie do dowolnej pojedynczej lub kombinacji kolumn. Oznacza to jednak, że każda wartość w tej kolumnie musi być unikalna.

Zazwyczaj w tabeli klucz podstawowy jest kolumną identyfikatora i zwykle jest sparowany ze słowem kluczowym AUTO_INCREMENT. Oznacza to, że wartość wzrasta automatycznie, gdy tworzone są nowe rekordy.

Przykład 1 (MySQL)

Utwórz nową tabelę i ustaw klucz podstawowy na kolumnę ID.

UTWÓRZ użytkowników TABELI (
id int NOT NULL AUTO_INCREMENT,
imię varchar (255),
last_name varchar (255) NOT NULL,
adres varchar (255),
e-mail varchar (255),
KLUCZ PODSTAWOWY (id)
);

Przykład 2 (MySQL)

Zmień istniejącą tabelę i ustaw klucz podstawowy na kolumnę pierwsza nazwa.

ZMIEŃ TABELĘ użytkowników
DODAJ KLUCZ PODSTAWOWY (imię);

Klucz obcy

Klucz obcy może być zastosowany do jednej lub wielu kolumn i służy do łączenia 2 tabel ze sobą w relacyjnej bazie danych.

Jak widać na poniższym schemacie, tabela zawierająca klucz obcy jest nazywana kluczem podrzędnym, a tabela zawierająca klucz odniesienia lub klucz kandydujący nazywana jest tabelą nadrzędną.

Klucze MySQL

Zasadniczo oznacza to, że dane kolumny są współużytkowane przez 2 tabele, ponieważ klucz obcy zapobiega również wstawianiu nieprawidłowych danych, których nie ma również w tabeli nadrzędnej.

Przykład 1 (MySQL)

Utwórz nową tabelę i zamień wszystkie kolumny, które odwołują się do identyfikatorów w innych tabelach, na klucze obce.

UTWÓRZ zamówienia w TABELI (
id int NOT NULL,
identyfikator_użytkownika int,
product_id int,
KLUCZ PODSTAWOWY (id),
KLUCZ ZAGRANICZNY (ID_użytkownika) ODNIESIENIA użytkownicy (id),
KLUCZ ZAGRANICZNY (ID_produktu) REFERENCJE produkty (id)
);

Przykład 2 (MySQL)

Zmień istniejącą tabelę i utwórz klucz obcy.

ZMIEŃ TABELĘ zamówień
DODAJ KLUCZ ZAGRANICZNY (identyfikator_użytkownika) REFERENCJE users (id);

Indeksy

Indeksy to atrybuty, które można przypisać do często przeszukiwanych kolumn, aby proces pobierania danych był szybszy i wydajniejszy.

Nie oznacza to jednak, że każdą kolumnę należy przekształcić w indeks, ponieważ aktualizacja kolumny z indeksem trwa dłużej niż kolumna bez niej. Wynika to z faktu, że po zaktualizowaniu indeksowanych kolumn należy również zaktualizować sam indeks.

Indeksy
ImięOpis
UTWÓRZ INDEKSTworzy indeks o nazwie „idx_test” w kolumnach imię i nazwisko w tabeli użytkowników. W tym przypadku dozwolone są zduplikowane wartości.
UTWÓRZ INDEKS idx_test
NA użytkownikach (imię, nazwisko);
UTWÓRZ UNIKALNY INDEKSTo samo co powyżej, ale bez zduplikowanych wartości.

UTWÓRZ UNIKALNY INDEKS idx_test
NA użytkownikach (imię, nazwisko);
DROP INDEXUsuwa indeks.

ZMIEŃ TABELĘ użytkowników
INDEKS DROP idx_test;

Łączy się

W SQL klauzula JOIN jest używana do zwracania zestawu wyników, który łączy dane z wielu tabel, w oparciu o wspólną kolumnę, która znajduje się w obu z nich

Dostępnych jest wiele różnych złączeń:-

  • Łączenie wewnętrzne (domyślne): Zwraca wszystkie rekordy, które mają pasujące wartości w obu tabelach.
  • Lewy Dołącz: Zwraca wszystkie rekordy z pierwszej tabeli wraz ze wszystkimi pasującymi rekordami z drugiej tabeli.
  • Right Join: Zwraca wszystkie rekordy z drugiej tabeli wraz ze wszystkimi pasującymi rekordami z pierwszej.
  • Pełne dołączenie: Zwraca wszystkie rekordy z obu tabel, gdy występuje dopasowanie.

Typowy sposób wizualizacji sposobu łączenia się jest następujący:

Dołączy MySQL

W poniższym przykładzie zostanie użyte sprzężenie wewnętrzne, aby utworzyć nowy widok ujednolicający łączący tabelę zamówień, a następnie 3 różne tabele

Zastąpimy user_id i product_id kolumnami imię i nazwisko użytkownika, który złożył zamówienie, wraz z nazwą zakupionego produktu.

Przykładowa tabela MySQL

WYBIERZ zamowienia.id, users.first_name, users.sname, products.name jako 'nazwa produktu'
Z zamówień
WEJDŹ DO WEJŚCIA użytkowników na zleceniach. Identyfikator_użytkownika = users.id
DOŁĄCZ DO produktów INNER na zamówienie.product_id = products.id;

Zwróciłby zestaw wyników, który wygląda następująco:

Przykładowa tabela MySQL

Widok

Widok jest zasadniczo zestawem wyników SQL, które są przechowywane w bazie danych pod etykietą, dzięki czemu można do niego wrócić później, bez konieczności ponownego uruchamiania zapytania. Są one szczególnie przydatne, gdy masz kosztowne zapytanie SQL, które może być potrzebne wiele razy, więc zamiast uruchamiać je w kółko, aby wygenerować ten sam zestaw wyników, możesz to zrobić tylko raz i zapisać jako widok.

Tworzenie widoków

Aby utworzyć widok, możesz to zrobić w następujący sposób:

UTWÓRZ WIDOK priorytet_users AS
WYBIERZ * OD użytkowników
GDZIE kraj = „Wielka Brytania”;

Następnie, jeśli chcesz uzyskać dostęp do zapisanego zestawu wyników, możesz to zrobić w następujący sposób:

SELECT * FROM [priorytet_users];

Zastępowanie widoków

Za pomocą polecenia CREATE OR REPLACE można zaktualizować widok.

UTWÓRZ LUB WYMIEŃ WIDOK [priorytet_użytkownicy] AS
WYBIERZ * OD użytkowników
GDZIE kraj = „Wielka Brytania” LUB kraj = „USA”;

Usuwanie widoków

Aby usunąć widok, po prostu użyj polecenia DROP VIEW.

WIDOK DROP priorytet_users;

Wniosek

Większość witryn w dzisiejszej sieci korzysta w jakiś sposób z relacyjnych baz danych. Dzięki temu SQL jest cennym językiem do poznania, ponieważ pozwala tworzyć bardziej złożone, funkcjonalne strony i systemy.

Pamiętaj, aby dodać tę stronę do zakładek, więc w przyszłości, jeśli pracujesz z SQL i nie pamiętasz konkretnego operatora, jak napisać określone zapytanie, lub po prostu jesteś zdezorientowany, jak działają sprzężenia, to będziesz mieć ściągawka na rękę, która jest gotowa, chętna i zdolna do pomocy.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map