Database
 sql >> Baza danych >  >> RDS >> Database

Samouczek SQL:kompleksowe rozwiązanie do nauki SQL

Na dzisiejszym rynku, na którym każdego dnia generowanych jest około 2,5 kwintyliona bajtów danych, bardzo ważne jest zrozumienie, jak radzić sobie z tak ogromną ilością danych. Cóż, tutaj pojawia się strukturalny język zapytań lub SQL. Tak więc w tym artykule na temat samouczka SQL omówię następujące ważne koncepcje, które są niezbędne na drodze do zostania administratorem bazy danych.

  • Wprowadzenie do SQL
    1. Co to jest SQL?
    2. Zastosowania SQL
    3. Typy danych SQL
    4. Operatory SQL
  • Najważniejsze polecenia SQL
    1. UTWÓRZ
    2. UPUŚĆ
    3. ZMIANA
    4. OBCIĘĆ
    5. WYJAŚNIJ
    6. WSTAW DO
    7. AKTUALIZUJ
    8. WYBIERZ
    9. LUBIĘ
    10. DOTACJE
  • Klucze w bazie danych
  • Ograniczenia SQL
  • Normalizacja
  • Połączenia SQL
  • Widoki

Samouczek SQL:wprowadzenie do SQL

Co to jest SQL?

Opracowany przez Donalda D.Chamberlina w latach 70., Structured Query Language lub najczęściej znany jako SQL jest jednym z najpopularniejszych języków używanych do manipulowania, przechowywania, aktualizowania i pobierania danych z relacyjna baza danych. SQL składa się z różnych poleceń podzielonych na 4 kategorie, tj. DDL, DML, DCL i TCL do zabawy z danymi w bazach danych. Ponadto relacyjne bazy danych, takie jak MySQL Databases, Oracle, MS SQL Server, Sybase itp., używają SQL do modyfikowania danych.

Zastosowania SQL

Zastosowania SQL są następujące:

  • Dzięki SQL możesz tworzyć i usuwać tabele i bazy danych.
  • Pozwala użytkownikom definiować i manipulować danymi w bazach danych.
  • SQL pozwala użytkownikom na dostęp, modyfikowanie i opisywanie danych w RDBMS.
  • Dzięki SQL możesz ustawić uprawnienia do tabel, widoków i procedur oraz nadawać określone uprawnienia różnym użytkownikom.
  • SQL umożliwia osadzanie w innych językach przy użyciu bibliotek i modułów SQL.

Teraz, gdy znasz już podstawy SQL, w dalszej części tego samouczka SQL, pozwól nam zrozumieć, jakie są różne typy danych SQL.

Typy danych SQL

Typy danych SQL są podzielone na następujące kategorie:

  • Numeryczne – Typy danych numerycznych umożliwiają zarówno liczby całkowite ze znakiem, jak i bez znaku. Można je dalej podzielić na dokładne i przybliżone typy danych, gdzie dokładne pozwala na liczby całkowite, a przybliżone na liczby zmiennoprzecinkowe.
  • Ciąg znaków – Ten typ danych dopuszcza znaki o stałej i zmiennej długości. Ten typ danych może być również dalej kategoryzowany na znaki Unicode, które pozwalają na stałą i zmienną długość znaków Unicode.
  • Binarny – Typy danych binarnych umożliwiają przechowywanie danych w formacie wartości binarnych o stałej i zmiennej długości.
  • Data i godzina – Ten typ danych umożliwia przechowywanie danych w różnych formatach daty i czasu.
  • Inne – Ta sekcja typów danych zawiera typy danych, takie jak tabela, XML, kursor, unikalny identyfikator i sql_variant.

Jeśli chcesz uzyskać szczegółowe informacje na temat różnych typów danych SQL, możesz zapoznać się ze szczegółowym przewodnikiem po typach danych SQL.

Operatory SQL

Operatory to konstrukcje, które mogą manipulować wartościami operandów. Rozważmy wyrażenie 4 + 6 =10, tutaj 4 i 6 to operandy, a + nazywamy operatorem.

SQL obsługuje następujące typy operatorów:

  • Operatory arytmetyczne
  • Operatory bitowe
  • Operatory porównania
  • Operatory złożone
  • Operatory logiczne

Aby poznać różne operatory obsługiwane przez SQL w rozbudowany sposób, możesz kliknąć tutaj. Teraz, gdy już wiesz, czym jest SQL i jego podstawy, pozwól nam zrozumieć najważniejsze polecenia lub instrukcje SQL.

Samouczek SQL:najważniejsze polecenia SQL

SQL składa się z różnych poleceń lub instrukcji służących do dodawania, modyfikowania, usuwania lub aktualizowania danych w bazie danych. W tym artykule o samouczku SQL omówimy następujące stwierdzenia:

    1. UTWÓRZ
    2. UPUŚĆ
    3. ZMIANA
    4. OBCIĘĆ
    5. WYJAŚNIJ
    6. WSTAW DO
    7. AKTUALIZUJ
    8. WYBIERZ
    9. LUBIĘ
    10. DOTACJE

W tym samouczku SQL rozważę poniższą bazę danych jako przykład, aby pokazać, jak pisać zapytania za pomocą tych poleceń SQL.

Identyfikator klienta Nazwa klienta Numer telefonu Adres Miasto Kraj
1 Szymon 9876543210 Donald Street 52 Hyderabad Indie
2 Akasz 9955449922 Droga Królowej 74 Bombaj Indie
3 Patryk 9955888220 Jedwabna tablica 82 Delhi Indie
4 Tak samo 9647974327 IG Droga 19 Hyderabad Indie
5 Jan 9674325689 Brygada Blok drogowy 9 Bangalur Indie

UTWÓRZ

Instrukcja CREATE służy do tworzenia tabeli, widoku lub bazy danych w następujący sposób:

UTWÓRZ BAZĘ DANYCH

Służy do tworzenia bazy danych.

Składnia

CREATE DATABASE DatabaseName;

Przykład

 
CREATE DATABASE CustomerInfo; 

UTWÓRZ TABELĘ

To stwierdzenie służy do tworzenia tabeli.

Składnia

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

Przykład

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

UTWÓRZ WIDOK

Służy do tworzenia widoku.

Składnia

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

Przykład

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";

Uwaga: Zanim zaczniesz tworzyć tabelę i wprowadzać wartości, musisz użyć bazy danych, używając instrukcji USE jako [USE CustomersInfo; ]

ZRZUCENIE

Instrukcja DROP służy do usuwania istniejącej tabeli, widoku lub bazy danych.

UPUŚĆ BAZĘ DANYCH

Służy do usuwania bazy danych. Gdy użyjesz tego oświadczenia, pełne informacje znajdujące się w bazie danych zostaną utracone.

Składnia

DROP DATABASE DatabaseName;

Przykład

DROP DATABASE CustomerInfo;

DODAJ TABELĘ

Służy do upuszczania tabeli. Gdy użyjesz tego stwierdzenia, pełne informacje zawarte w tabeli zostaną utracone.

Składnia

DROP TABLE TableName;

Przykład

DROP TABLE Customers;

PRZEPUŚĆ WIDOK

Służy do upuszczania widoku. Gdy użyjesz tego oświadczenia, pełne informacje obecne w widoku zostaną utracone.

Składnia

DROP VIEW ViewName;

Przykład

DROP VIEW HydCustomers;

ZMIANA

Instrukcja ALTER służy do dodawania, usuwania lub modyfikowania ograniczeń lub kolumn w istniejącej tabeli.

ZMIANA TABELI

Instrukcja ALTER służy do usuwania, dodawania, modyfikowania kolumn w istniejącej tabeli. Możesz użyć ALTER TABLE z kolumną ADD/DROP, aby dodać lub usunąć kolumnę w tabeli. Oprócz tego możesz również ZMIENIAĆ/MODYFIKOWAĆ konkretną kolumnę.

Składnia

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Przykład

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

OBCIĄŻENIE

Instrukcja TRUNCATE służy do usuwania informacji zawartych w tabeli, ale nie samej tabeli. Tak więc, gdy użyjesz tego polecenia, twoje informacje zostaną utracone, ale tabela nie będzie nadal obecna w bazie danych.

Składnia

TRUNCATE TABLE TableName;

Przykład

TRUNCATE Table Customers;

WYJAŚNIJ

Instrukcje EXPLAIN i DESCRIBE są synonimami używanymi odpowiednio do uzyskania planu wykonania zapytania i informacji o strukturze tabeli. Ta instrukcja może być używana z instrukcjami INSERT , DELETE, SELECT, UPDATE i REPLACE.

Składnia

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

Przykład

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

WSTAW DO

Instrukcja INSERT INTO służy do wstawiania nowych rekordów do tabeli.

Składnia

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Przykład

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

AKTUALIZACJA

Instrukcja UPDATE służy do modyfikowania rekordów już obecnych w tabeli.

Składnia

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

Przykład

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

WYBIERZ

Wyrażenie SELECT służy do wybierania danych z bazy danych i przechowywania ich w tabeli wynikowej, zwanej zestawem wyników .

Składnia

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

Przykład

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

Oprócz tego, możesz użyć słowa kluczowego SELECT z DISTINCT, ORDER BY, GROUP BY, HAVING Clause i INTO.

LUBIĘ

Ten operator jest używany z klauzulą ​​WHERE do wyszukiwania określonego wzorca w kolumnie tabeli. Istnieją głównie dwa symbole wieloznaczne, które są używane w połączeniu z operatorem LIKE:

  • % – Dopasowuje 0 lub więcej znaków.
  • _ – Pasuje dokładnie do jednego znaku.

Składnia

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

Przykład

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

DOTACJE

Polecenie GRANT służy do zapewniania użytkownikom uprawnień lub dostępu do bazy danych i jej obiektów.

Składnia

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

gdzie,

  • PrivilegeName – Uprawnienia/prawa/dostęp przyznane użytkownikowi.
  • ObjectName – Nazwa obiektu bazy danych, np. TABLE/VIEW/STORED PROC.
  • Nazwa użytkownika – Nazwa użytkownika, któremu nadano dostęp/prawa/przywileje.
  • PUBLICZNE – Aby przyznać prawa dostępu wszystkim użytkownikom.
  • RoleName – Nazwa zestawu uprawnień zgrupowanych razem.
  • Z OPCJĄ PRZYZNANIA – Aby dać użytkownikowi dostęp do nadania innym użytkownikom praw.

Przykład

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

Teraz, gdy znasz już najpopularniejsze polecenia SQL, pozwól nam zrozumieć, jakie są różne typy kluczy używanych w bazie danych. Cóż, ta koncepcja pomoże ci zrozumieć, w jaki sposób każda tabela jest powiązana z drugą tabelą w systemie zarządzania relacyjną bazą danych.

Samouczek SQL:klucze

Oto 7 typów kluczy, które można uwzględnić w bazie danych:

  • Klucz kandydata – Zestaw atrybutów, które mogą jednoznacznie identyfikować tabelę, można nazwać kluczem kandydata. Tabela może mieć więcej niż jeden klucz kandydujący, a spośród wybranych kluczy kandydujących jeden klucz można wybrać jako klucz podstawowy.
  • Superklawisz – Zestaw atrybutów, które mogą jednoznacznie identyfikować krotkę, jest znany jako Super Key. Tak więc klucz kandydujący, klucz podstawowy i klucz unikalny to superklucz, ale odwrotnie nie jest prawdą.
  • Klucz podstawowy – Zestaw atrybutów, które są używane do jednoznacznej identyfikacji każdej krotki, jest również kluczem podstawowym.
  • Alternatywny klucz – Klucze alternatywne to klucze kandydujące, które nie są wybierane jako klucz podstawowy.
  • Unikalny klucz – Klucz unikalny jest podobny do klucza podstawowego, ale dopuszcza jedną wartość NULL w kolumnie.
  • Klucz obcy – Atrybut, który może przyjmować tylko wartości obecne jako wartości jakiegoś innego atrybutu, jest kluczem obcym atrybutu, do którego się odnosi.
  • Klucz złożony – Klucz złożony to kombinacja dwóch lub więcej kolumn, które jednoznacznie identyfikują każdą krotkę.

Mam nadzieję, że zrozumiałeś różne typy kluczy w bazie danych. W dalszej części tego artykułu o samouczku SQL omówimy ograniczenia w bazie danych. Cóż, ograniczenia SQL są używane w celu zwiększenia dokładności i wiarygodności danych, które trafiają do bazy danych za pośrednictwem tabeli.

Samouczek SQL: Ograniczenia

Ograniczenia SQL zapewniają, że nie ma naruszenia w zakresie transakcji danych, jeśli zostanie znalezione, to akcja zostanie przerwana. Głównym zastosowaniem poniższych ograniczeń jest ograniczenie typu danych, które można umieścić w tabeli.

  • NIE NULL – To ograniczenie służy do zapewnienia, że ​​kolumna nie może przechowywać wartości NULL.
  • UNIKALNE – Ograniczenie UNIQUE służy do zapewnienia, że ​​wszystkie wartości wprowadzone w kolumnie lub tabeli są niepowtarzalne.
  • SPRAWDŹ – To ograniczenie służy do upewnienia się, że kolumna lub wiele kolumn spełnia określony warunek.
  • DOMYŚLNE – Ograniczenie DEFAULT jest używane do ustawienia domyślnej wartości dla kolumny, jeśli nie określono żadnej wartości.
  • INDEKS – To ograniczenie jest używane do indeksów w tabeli, dzięki czemu można bardzo szybko tworzyć i pobierać dane z bazy danych.

Jeśli chcesz dowiedzieć się więcej o następujących ograniczeniach wraz ze składnią i przykładami, możesz zapoznać się z innymi artykułami na temat SQL. Tak więc, teraz, gdy o kluczach i ograniczeniach w bazie danych, w następnym artykule o samouczku SQL, przyjrzyjmy się interesującej koncepcji Normalizacja.

Samouczek SQL:normalizacja

Normalizacja to proces organizowania danych w celu uniknięcia powielania i nadmiarowości. Istnieje wiele kolejnych poziomów normalizacji i są one nazywane formami normalnymi . Również każda kolejna postać normalna zależy od poprzedniej. Poniżej znajdują się normalne formy:

Aby zrozumieć powyższe normalne formy, rozważmy poniższą tabelę:

Obserwując powyższą tabelę, możesz wyraźnie dostrzec nadmiarowość i duplikację danych. Znormalizujmy więc tę tabelę. Aby rozpocząć normalizację baz danych, należy zawsze zaczynać od najniższej normalnej postaci, tj. 1NF, a następnie ostatecznie przejść do wyższych normalnych postaci.

Teraz zobaczmy, jak możemy wykonać pierwszą normalną formę dla powyższej tabeli.

Pierwsza forma normalna (1NF)

Aby upewnić się, że baza danych musi być w 1NF , każda komórka tabeli powinna mieć jedną wartość. Tak więc zasadniczo wszystkie rekordy muszą być niepowtarzalne . Powyższa tabela zostanie znormalizowana do 1NF, jak poniżej:

Jeśli obserwujesz w powyższej tabeli, wszystkie rekordy są niepowtarzalne. Jednak istnieje wiele nadmiarowości i duplikacji danych. Aby tego uniknąć, znormalizujmy bazę danych do drugiej postaci normalnej.

Druga forma normalna (2NF)

Aby upewnić się, że baza danych musi być w 2NF , baza danych powinna mieć 1NF i powinien także mieć jednokolumnowy klucz podstawowy . Powyższa tabela zostanie znormalizowana do 2NF, jak poniżej:

Jeśli obserwujesz powyższe tabele, każda tabela ma jednokolumnowy klucz podstawowy. Istnieje jednak duża nadmiarowość danych i duplikacja kilku kolumn. Aby tego uniknąć, znormalizujmy bazę danych do trzeciej normalnej postaci.

Trzecia forma normalna (3NF)

Aby upewnić się, że baza danych musi być w 3NF , baza danych powinna być w 2NF i nie może mieć żadnych przechodnich zależności funkcjonalnych . Powyższe tabele zostaną znormalizowane do 3NF, jak poniżej:

Jeśli obserwujesz powyższe tabele, baza danych nie ma żadnej przechodniej zależności. Tak więc po tym kroku nie musimy dalej normalizować naszej bazy danych. Ale jeśli zauważysz jakiekolwiek anomalie lub więcej niż jeden klucz kandydujący, możesz przejść do następnej wyższej normalnej postaci, tj. BCNF.

Forma normalna Boyce-Codd (BCNF)

Aby mieć pewność, że baza danych musi być w BCNF, baza danych musi być obecna w 3NF, a tabele muszą być dalej podzielone, aby upewnić się, że obecny jest tylko jeden klucz kandydujący.

Na tym kończymy normalizację. Teraz, w dalszej części tego samouczka SQL, omówmy ważną koncepcję w SQL, czyli złączenia.

Samouczek SQL:łączenia

Połączenia służą do łączenia wierszy z co najmniej dwóch tabel, na podstawie powiązanej kolumny między tymi tabelami oraz kilku warunków. Istnieją głównie cztery rodzaje złączeń:

  • DOŁĄCZENIE WEWNĘTRZNE: To złączenie zwraca te rekordy, które mają pasujące wartości w obu tabelach.
  • Pełne dołączenie: FULL JOIN zwraca wszystkie te rekordy, które pasują do lewej lub prawej tabeli.
  • DOŁĄCZENIE LEWE: To złączenie zwraca rekordy z lewej tabeli, a także te rekordy, które spełniają warunek z prawej tabeli.
  • PRAWY JOIN: To złączenie zwraca rekordy z prawej tabeli, a także te rekordy, które spełniają warunek z lewej tabeli.

Tak więc był to krótki opis JOINS, ale jeśli chcesz uzyskać szczegółowy opis JOINS ze szczegółowym przykładem, możesz zapoznać się z moim artykułem na temat SQL JOINS. Następnie, w tym samouczku SQL, omówmy ostatnią koncepcję tego artykułu, tj. Widoki.

Samouczek SQL:widoki

Widok w SQL to pojedyncza tabela, która pochodzi z innych tabel. Widok zawiera wiersze i kolumny podobne do rzeczywistej tabeli i zawiera pola z co najmniej jednej tabeli. Zobacz poniższy obrazek:

Aby zrozumieć, jak tworzyć i usuwać widok, możesz odwołać się do wspomnianych powyżej instrukcji CREATE i DROP. Na tym kończymy ten artykuł dotyczący samouczka SQL. Mam nadzieję, że znalazłeś ten artykuł pouczający. Ponadto, jeśli przygotowujesz się do rozmowy kwalifikacyjnej z administratorem bazy danych i szukasz wyczerpującej listy pytań, możesz zapoznać się z naszym artykułem na temat pytań do wywiadu SQL.

Jeśli chcesz dowiedzieć się więcej o MySQL i poznać tę relacyjną bazę danych typu open source, sprawdź nasze szkolenie certyfikacyjne MySQL DBA, które obejmuje szkolenie na żywo prowadzone przez instruktora i -życiowe doświadczenie projektowe. To szkolenie pomoże ci dogłębnie zrozumieć MySQL i pomoże ci osiągnąć mistrzostwo w tym temacie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego samouczka SQL, a my skontaktujemy się z Tobą.


  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 używać COUNT w SQL?

  2. Sterownik ODBC Apache Spark

  3. Łączenie się z 4D z Javy

  4. Przywróć kopię swojej bazy danych

  5. Używanie ODBC z Salesforce i Azure Active Directory (AD) Single Sign On (SSO)