Strukturalny język zapytań służy do obsługi danych strukturalnych. Dane przechowywane w postaci tabel są danymi ustrukturyzowanymi. Te polecenia SQL przechowują rekordy lub dane w tabeli, a także służą do pobierania rekordów z przechowywanych tabel. Istnieją cztery typy poleceń strukturalnego języka zapytań:
- Polecenia języka definicji danych.
- Polecenia języka manipulacji danymi.
- Polecenia języka kontroli danych.
- Polecenia języka kontroli transakcji.
Polecenia języka definicji danych
DDL to skrót od Data Definition Language. Polecenia Data Definition Language służą do radzenia sobie ze strukturą, tj. tabelą lub relacją, w której przechowywane są nasze rekordy lub dane. Polecenia języka definicji danych służą do tworzenia, usuwania i modyfikowania tabeli. Polecenia języka definicji danych to:
- UTWÓRZ polecenie.
- Zmień polecenie.
- Polecenie UPUŚĆ.
- Obetnij polecenie.
CREATE Polecenia: W Structured Query Language przechowujemy dane w tabeli, a do tworzenia nowej tabeli lub bazy danych używamy CREATE Command of the Data Definition Language Commands. Poniżej znajduje się składnia tworzenia bazy danych:
CREATE DATABASE DATABASE_NAME;
Dla przykładów
- Napisz zapytanie, aby utworzyć nową bazę danych, a następnie nazwę bazy danych Firma.
CREATE DATABASE COMPANY;
Aby sprawdzić, czy baza danych firmy została utworzona, użyjemy następującego zapytania:
SHOW DATABASES;
Baza danych |
firma |
pracownik |
schemat_informacji |
mysql |
schemat_wydajności |
phpmyadmin |
Powyższy wynik mówi, że pomyślnie utworzyliśmy Firmę Baza danych.
- Napisz zapytanie, aby utworzyć nową tabelę:
Stworzymy nową tabelę pracowników w Firmie Baza danych. Musimy wybrać bazę danych firmy.
CREATE TABLE TABLE_NAME(COLUMN_NAME1 DATATYPE(COLUMN SIZE), COLUMN_NAME2 DATATYPE (COLUMN SIZE),COLUMN_NAME3 DATATYPE (COLUMN SIZE));
Aby wybrać bazę danych firmy, użyjemy następującego zapytania:
USE COMPANY;
Teraz wybieramy Firmę jako bazę danych; wykonamy zapytanie CREATE TABLE, aby utworzyć tabelę:
CREATE TABLE EMPLOYEES (EMPLOYEE INT PRIMARY KEY, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR (20), SALARY INT, CITY VARCHAR (20) );
Stworzyliśmy nazwę tabeli Pracownicy za pomocą zapytania CREATE TABLE.
Aby sprawdzić, czy została utworzona tabela Pracownicy, użyjemy następującego zapytania:
SHOW TABLES;
Stoły_w_firmie |
pracownicy |
Powyższy wynik mówi, że pomyślnie utworzyliśmy tabelę „Pracownicy”.
Utworzymy kolejną tabelę za pomocą CREATE TABLE.
CREATE TABLE DEPARTMENT (DEPARTMENT INT PRIMARY KEY, DEPARTMENT_NAME VARCHAR (20));
Stworzyliśmy nazwę tabeli „Dział” za pomocą zapytania CREATE TABLE.
Aby sprawdzić, czy dział tabeli został utworzony, użyjemy następującego zapytania:
SHOW TABLES;
Stoły_w_firmie |
pracownicy działu |
Powyższy wynik mówi, że pomyślnie utworzyliśmy tabelę „Pracownicy”.
ALTER Polecenie: W Structured Query Language, ilekroć będziemy chcieli zmodyfikować schemat lub strukturę tabeli, użyjemy polecenia ALTER polecenia Data Definition Language. Polecenie ALTER służy do modyfikowania schematu tabeli poprzez dodanie nowej kolumny, usunięcie istniejącej kolumny z tabeli itp. poniżej znajduje się składnia polecenia ALTER, aby dodać nową kolumnę:
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);
Składnia polecenia ALTER, aby usunąć istniejącą kolumnę:
ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;
Składnia polecenia ALTER do zmiany nazwy kolumny istniejącej tabeli:
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;
Na przykład
- Napisz zapytanie, aby dodać nową kolumnę w tabeli Pracownicy:
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);
Tutaj wykonaliśmy polecenie ALTER TABLE na tabeli Employees, a następnie słowo kluczowe ADD, co oznacza dodanie kolumny z nazwą kolumny Department, typem danych VARCHAR i rozmiarem kolumny 20. Powyższe zapytanie mówi, że dodaliśmy nową kolumnę o nazwie ' Dział” z typem danych VARCHAR i rozmiarem kolumny 20.
Aby sprawdzić, czy nowa kolumna została dodana do tabeli Pracownicy, użyjemy polecenia DESC na tabeli pracownika.
DESC EMPLOYEES;
Pole | Typ | Numer | Klucz | Domyślne | Dodatkowe |
ID PRACOWNIKA | int(11) | NIE | PRI | NULL | |
FIRST_NAME | varchar(20) | TAK | NULL | ||
LAST_NAME | varchar(20) | TAK | NULL | ||
WYNAGRODZENIE | int(11) | TAK | NULL | ||
MIASTO | varchar(20) | TAK | NULL | ||
DZIAŁ | varchar(20) | TAK | NULL |
Powyższy wynik weryfikuje, czy nowa kolumna została pomyślnie dodana do tabeli pracownika.
UPUŚĆ Polecenie: DROP Polecenie w Structured Query Language służy do usuwania tabeli i schematu tabeli z bazy danych. Oto składnia polecenia DROP;
DROP TABLE TABLE_NAME;
Napisz zapytanie, aby usunąć tabelę działu z bazy danych pracowników.
DROP TABLE DEPARTMENT;
Tutaj wykonaliśmy zapytanie DROP TABLE w dziale tabel.
Aby sprawdzić, czy dział tabeli został usunięty, użyjemy następującego zapytania:
SHOW TABLES;
Stoły_w_firmie |
Pracownicy |
Powyższy wynik mówi, że pomyślnie usunęliśmy tabelę działów z bazy danych firmy.
OBRÓĆ Polecenie: Polecenie TRUNCATE w strukturalnym języku zapytań usuwa wszystkie dane z tabeli bez naruszania schematu tabeli w bazie danych. Poniżej znajduje się składnia polecenia TRUNCATE:
TRUNCATE TABLE TABLE_NAME
Napisz zapytanie, aby usunąć wszystkie rekordy z tabeli Pracownicy.
Użyjemy zapytania SELECT, aby najpierw pobrać dane z tabeli Pracownicy, a następnie wykonać zapytanie TRUNCATE.
SELECT * FROM EMPLOYEES;
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ |
1 | Vaibhav | Szarma | 65000 | Noida | Wyrocznia |
2 | Szweta | Szarma | 55 000 | Jaipur | Wyrocznia |
3 | Sonali | Mali | 60000 | Nashik | FMW |
TRUNCATE TABLE EMPLOYEES;
Tutaj pomyślnie usunęliśmy wszystkie dane z tabeli Pracownicy. Teraz użyjemy zapytania SELECT w tabeli Pracownicy.
TRUNCATE TABLE EMPLOYEES;
Po wykonaniu zapytania SELECT w tabeli Employees w wyniku zostanie wyświetlony pusty zestaw. Oznacza to, że pomyślnie usunęliśmy całą tabelę.
Polecenie języka manipulacji danymi
DML oznacza język manipulacji danymi. Polecenia Data Manipulation Language w Structured Query Language manipulują danymi w bazie danych. Polecenia języka manipulacji danymi są używane do pobierania danych, przechowywania danych, modyfikowania danych i usuwania danych z istniejącej tabeli.
Polecenia Data Manipulation Language w Structured Query Language są następujące:
- Wybierz polecenie.
- WSTAW polecenie.
- Polecenie AKTUALIZACJI.
- Usuń polecenie.
Najpierw przyjrzymy się poleceniom INSERT języka manipulacji danymi w strukturalnym języku zapytań. Po INSERT przejdziemy do polecenia SELECT.
WSTAW, polecenie: Polecenie INSERT przechowuje dane lub rekordy w tabeli bazy danych. Polecenie INSERT jest ważnym poleceniem języka manipulacji danymi w strukturalnym języku zapytań.
Składnia polecenia INSERT Data Manipulation Language:
INSERT INTO TABLE_NAME VALUES (VALUE1, VALUE2, VALUE3, VALUE);
Ta składnia dopuszcza wszystkie pola tabeli. W przypadku, gdy chcesz wstawić wartości dla wybranych pól, użyj poniższej składni:
INSERT INTO TABLE_NAME (COLUMN_NAME1, COLUMN_NAME2) VALUES (VALUE1, VALUE2);
Powyższa składnia służy do przechowywania wartości dla wybranych pól tabeli.
Na przykład
W tym przykładzie wstawimy rekord dla wszystkich pól w tabeli.
Weźmy tabelę Pracownicy, która jest pusta. WSTAWimy rekordy w tabeli stadniny.
Teraz będziemy przechowywać nowe rekordy w tabeli Pracownicy. Aby zapisać rekordy w tabeli, wykonamy następujące polecenie INSERT w języku manipulacji danymi:
INSERT INTO EMPLOYEES VALUES (1001, 'VAIBHAVI', 'MISHRA', 65000, 'PUNE', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1002, 'VAIBHAV', 'SHARMA', 60000, 'NOIDA', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1003, 'NIKHIL', 'VANI', 50000, 'JAIPUR', 'FMW');
INSERT INTO EMPLOYEES VALUES (1004, 'ANUJA', 'WANRE', 55000, 'DELHI', 'FMW');
INSERT INTO EMPLOYEES VALUES (2001, 'PRACHI', 'SHARMA', 55500, 'CHANDIGARH', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (2002, 'BHAVESH', 'JAIN', 65500, 'PUNE', 'ORACLE');
Wstawiliśmy sześć rekordów do tabeli pracowników.
WYBIERZ polecenie: Najważniejszymi poleceniami języka manipulacji danymi w SQL jest polecenie SELECT. Polecenie SELECT służy do pobierania danych z określonej tabeli, a polecenie SELECT jest również używane do pobierania wybranych pól tabeli za pomocą klauzuli WHERE w zapytaniu.
Składnia polecenia SELECT w języku manipulacji danymi
SELECT * FROM TABLE_NAME;
Powyższa składnia jest używana do pobrania całej tabeli.
SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;
Powyższa składnia polega na pobraniu wszystkich rekordów wybranej kolumny.
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;
Powyższa składnia służy do pobierania pojedynczych rekordów przy użyciu klauzuli WHERE określonej przez nazwę kolumny.
Na przykład załóżmy, że chcesz pobrać wszystkie dane z każdej kolumny z tabeli:
SELECT * FROM EMPLOYEES;
Ten strukturalny język zapytań wyświetla następujące dane tabeli EMPLOYEES:
- Pobierz wszystkie dane w jednym wierszu, używając klauzuli WHERE określonej przez nazwę kolumny z tabeli:
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;
Powyższe zapytanie spowoduje pobranie wszystkich rekordów pracowników, których wynagrodzenie przekracza 55000.
Ten strukturalny język zapytań wyświetla następujące dane tabeli EMPLOYEES:
AKTUALIZUJ Polecenie: Polecenie UPDATE to kolejne cenne polecenie języka manipulacji danymi w SQL. Polecenia UPDATE służą do modyfikowania rekordów w tabeli bazy danych.
Składnia polecenia UPDATE w języku manipulacji danymi
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;
AKTUALIZUJ, USTAW I GDZIE są słowa kluczowe języka zapytań strukturalnych.
Dla przykładów,
- Ten przykład opisuje, jak zmodyfikować wartość.
Rozważmy tabelę PRACOWNICY:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | WYROCZNIA |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | WYROCZNIA |
1003 | NIKHIL | VANI | 50000 | JAIPUR | FMW |
2001 | PRACI | SHARMA | 55500 | CZANDIGAR | WYROCZNIA |
2002 | PRZYJMUJ SIĘ | JAIN | 65500 | PUNE | FMW |
2003 | RUCHIKA | JAIN | 50000 | MUMBAJ | TESTOWANIE |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA |
3002 | ANUJA | GDZIE | 50500 | JAIPUR | FMW |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAJ | JAVA |
4001 | RAJESH | GOUD | 60500 | MUMBAJ | TESTOWANIE |
- Napisz zapytanie, aby zmodyfikować rekord, którego nazwisko to „Jain” i ustaw wartość działu na „FMW”.
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;
Użyjemy zapytania SELECT w tabeli Pracownicy, w której nazwisko to Jain, aby sprawdzić, czy wartość została zmodyfikowana, czy nie.
SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;
Ten strukturalny język zapytań wyświetla następujące dane tabeli EMPLOYEES:
Usuń polecenie: DELETE to polecenie języka manipulacji danymi używane do usuwania rekordów z tabeli. Rekordy z tabeli usuwamy za pomocą klauzuli WHERE w zapytaniu.
Składnia polecenia UPDATE w języku manipulacji danymi
DELETE FROM TABLE_NAME WHERE CONDITION;
Na przykład rozważmy tabelę PRACOWNICY:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | WYROCZNIA |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | WYROCZNIA |
1003 | NIKHIL | VANI | 50000 | JAIPUR | FMW |
2001 | PRACI | SHARMA | 55500 | CZANDIGAR | WYROCZNIA |
2002 | PRZYJMUJ SIĘ | JAIN | 65500 | PUNE | FMW |
2003 | RUCHIKA | JAIN | 50000 | MUMBAJ | TESTOWANIE |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA |
3002 | ANUJA | GDZIE | 50500 | JAIPUR | FMW |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAJ | JAVA |
4001 | RAJESH | GOUD | 60500 | MUMBAJ | TESTOWANIE |
- Napisz zapytanie, aby usunąć dane, których nazwa miasta to „Mumbai”;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;
Użyjemy zapytania SELECT w tabeli Pracownicy, aby sprawdzić, czy wartość została zmodyfikowana, czy nie.
SELECT * FROM EMPLOYEES;
Ten strukturalny język zapytań wyświetla następujące dane tabeli EMPLOYEES:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | WYROCZNIA |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | WYROCZNIA |
1003 | NIKHIL | VANI | 50000 | JAIPUR | FMW |
2001 | PRACI | SHARMA | 55500 | CZANDIGAR | WYROCZNIA |
2002 | PRZYJMUJ SIĘ | JAIN | 65500 | PUNE | FMW |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA |
3002 | ANUJA | GDZIE | 50500 | JAIPUR | FMW |
Powyższy wynik pokazuje, że wpis z City Mumbai został pomyślnie usunięty.
Polecenia języka kontroli danych
DCL to skrót od Data Control Language. Używamy poleceń języka kontroli danych do kontrolowania uprawnień dostępu do rekordów w tabelach języka zapytań strukturalnych. Używając poleceń języka kontroli danych, możemy nadać uprawnienia autoryzowanym użytkownikom tylko w celu uzyskania dostępu do danych umieszczonych w tabelach lub bazach danych.
Użytkownik ma pewne predefiniowane uprawnienia dostępu do danych umieszczonych w tabelach tylko dla konkretnego użytkownika. Korzystając z poleceń języka kontroli danych, możemy przypisać uprawnienia użytkownikom w strukturalnym języku zapytań lub bazie danych lub odebrać (odwołać) uprawnienia od użytkowników. Istnieją dwa polecenia języka kontroli danych:
- GRANCJA: Polecenia Grant służą do przypisywania użytkownikom uprawnień dostępu do baz danych lub tabel.
- COFNIJ: Jeśli możemy PRZYZNAĆ użytkownikom uprawnienia dostępu. W takim przypadku chcemy odzyskać przypisane użytkownikowi uprawnienia do baz danych. Możemy użyć polecenia REVOKE, aby odebrać użytkownikowi wszystkie przypisane uprawnienia.
Język kontroli transakcji
W Structured Query Language mamy polecenia Data Definition Language (DDL) i Data Manipulation Language (DML) w taki sam sposób, jak polecenia Transaction Control Language (TCL) w Structured Query Language. Polecenia języka kontroli transakcji w strukturalnym języku zapytań to Zatwierdź i cofnięcie .
Jakiekolwiek polecenia, które wykonaliśmy, są zawarte w jednej jednostce pracy zwanej transakcją. Załóżmy, że wykonaliśmy jedną operację aktualizacji lub usunięcia na tabeli wykonanej w transakcji. Wszystkie operacje lub polecenia DDL lub DML są przechowywane lub wykonywane w transakcji. Aby zapisać taki wykonany DDL lub DML, musimy wykonać polecenie zatwierdzenia języka kontroli transakcji. Commit służy do zapisywania wszystkich operacji, które wykonaliśmy na stole. Cała operacja jest zapisana. W tym wszystkim chodzi o Zobowiązanie.
A teraz pomyśl, co jeśli chcemy cofnąć operacje, które zapisaliśmy za pomocą poleceń commit? Czy w takim razie możemy cofnąć operację w Structured Query Language? Tak, możemy cofnąć zatwierdzone operacje. Użyjemy innego polecenia języka kontroli transakcji, aby cofnąć operacje, a to polecenie to wycofanie. Użyjemy polecenia Rollback, aby cofnąć operację zatwierdzenia w strukturalnym języku zapytań. Polecenia w języku kontroli transakcji to:
- Potwierdź
- Wycofanie
Rozważ istniejące tabele pracowników, które zawierają następujące zapisy:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ |
1001 | VAIBHAVI | MISHRA | 65000 | PUNE | WYROCZNIA |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | WYROCZNIA |
1003 | NIKHIL | VANI | 50000 | JAIPUR | FMW |
2001 | PRACI | SHARMA | 55500 | CZANDIGAR | WYROCZNIA |
2002 | PRZYJMUJ SIĘ | JAIN | 65500 | PUNE | FMW |
2003 | RUCHIKA | JAIN | 50000 | MUMBAJ | TESTOWANIE |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA |
3002 | ANUJA | GDZIE | 50500 | JAIPUR | FMW |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAJ | JAVA |
4001 | RAJESH | GOUD | 60500 | MUMBAJ | TESTOWANIE |
Możemy użyć polecenia commit i Rollback bez rozpoczynania transakcji, ale rozpoczniemy naszą transakcję za pomocą Rozpocznij transakcję Polecenie dobrych praktyk.
Zacznijmy i zobaczmy każdy przykład operacji jeden po drugim.
Najpierw wyłączymy automatyczne zatwierdzanie, przypisując wartość automatycznego zatwierdzania do 0
SET AUTOCOMMIT = 0;
- Wstaw nowe wartości do istniejących pracowników tabeli, a następnie użyjemy polecenia Commit:
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);
Użyjemy zapytania SELECT, aby sprawdzić, czy dane są wstawiane do tabeli, czy nie:
SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;
Teraz, aby zapisać tę transakcję, użyjemy polecenia commit.
COMMIT;
Dane pracownika z 2001 r. zostały zapisane. Nie będzie to wycofanie, chyba że usuniemy go za pomocą polecenia Usuń.
- Usuniemy wszystkie informacje o identyfikatorze pracownika 2003, a następnie wycofamy polecenie usuwania za pomocą funkcji Cofnij.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;
Użyjemy zapytania SELECT, aby sprawdzić, czy dane zostały usunięte z tabeli, czy nie:
SELECT * FROM EMPLOYEES;
Identyfikator pracownika 2003 jest usuwany z tabeli. Teraz użyjemy polecenia wycofania, aby cofnąć operację usuwania.
ROLLBACK;
Po wykonaniu polecenia wycofywania, ponownie użyjemy zapytania SELECT, aby sprawdzić, czy operacja usuwania jest wycofywana, czy nie.
SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;