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
- Co to jest SQL?
- Zastosowania SQL
- Typy danych SQL
- Operatory SQL
- Najważniejsze polecenia SQL
- UTWÓRZ
- UPUŚĆ
- ZMIANA
- OBCIĘĆ
- WYJAŚNIJ
- WSTAW DO
- AKTUALIZUJ
- WYBIERZ
- LUBIĘ
- 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:
-
- UTWÓRZ
- UPUŚĆ
- ZMIANA
- OBCIĘĆ
- WYJAŚNIJ
- WSTAW DO
- AKTUALIZUJ
- WYBIERZ
- LUBIĘ
- 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ą.