Przegląd podstawowej składni języka SQL Główna forma zapytania SELECT Distinc oznacza nie powtarzające się wiersze. SELECT [DISTINC] nazwy(a)_kolumny /* FROM nazwa_tabeli ; Selekcja wierszy z tabeli z warunkiem SELECT [DISTINC] nazwy(a)_kolumny FROM nazwa_tabeli WHERE nazwa_kolumny operator_porównania wartoć; Uporządkowanie wierszy SELECT [DISTINC] nazwy(a)_kolumny /* FROM nazwa_tabeli ORDER BY nazwy(a)_kolumn(y) / numer(y)_kolumn(y) [ASC/DESC-rosn±co/malejąco] ; Operatory porównania = równe < mniejsze niż != nie równe <= mniejsze niż lub równe > większe niż >= większe niż lub równe Warunek iloczynowy (AND) SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE warunek AND warunek ; Alternatywny warunek zapytania SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE warunek OR warunek ; Wyszukiwania zakresowe (BETWEEN) SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE nazwa_kolumny [NOT] BETWEEN warto¶ć_1 AND warto¶ć_2 ; SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE wartoć [NOT] BETWEEN nazwa_kolumny_1 AND nazwa_kolumny_2 Poszukiwanie wzorców znakowych (LIKE) SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE nazwa_kolumny [NOT] LIKE "napis" ; Wyszukiwanie wartości NULL SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE nazwa_kolumny IS [NOT] NULL ; Operatory porównania zbioru (IN) SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE nazwa_kolumny [NOT] IN (wartoć_1, wartoć_2, .....) ; Funkcje wbudowane SELECT funkcja_wbudowana [DISTINCT] nazwa_kolumny FROM nazwa_tabeli [WHERE warunek] ; Funkcje wbudowane w SQL AVG SUM MIN MAX COUNT (może być użyta razem z * Obliczenia SELECT nazwy(a)_kolumn(y), wyrażenie arytmetyczne FROM nazwa_tabeli [WHERE warunek] [ORDER BY nazwy(a)_kolumn(y) / *] ; Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie Podzapytania Zapytanie główne: SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE nazwa_kolumny operator_porównania / operator_porównania zbioru pod zapytanie : (SELECT nazwa_kolumny FROM nazwa_tabeli [WHERE warunek] ) ; Grupowanie SELECT nazwy(a)_kolumn(y), funkcja_wbudowana(argument) FROM nazwa_tabeli [WHERE warunek] GROUP BY nazwy(a)_kolumn(y) [HAVING warunek] [ORDER BY nazwy(a)_kolumny / numer(y)_kolumn(y) [ASC/DESC]] ; Złączanie tabel SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli, nazwa_tabeli [,nazwa_tabeli, .....] WHERE warunek_zł±czenia [AND / OR warunek] [ORDER BY nazwy(a)_kolumny / numer(y)_kolumn(y)] ; Operowanie danymi Wstawianie wierszy do tabeli INSERT INTO nazwa_tabeli [(nazwa_kolumny_1, nazwa_kolumny_2, ....)] VALUES (wartoć_1, wartoć_2, ...); INSERT INTO nazwa_tabeli [(nazwa_kolumny_1, nazwa_kolumny_2, ....)] VALUES (wartoć_1, wartoć_2, ...) SELECT nazwy(a)_kolumn(y) FROM nazwa_tabeli WHERE warunek ; INSERT INTO Klienci VALUES (1,'Piotr','Kowalski','Aktualny','(032)255-45-98'); > INSERT INTO Klienci (Imie,Nazwisko) SELECT Imie,Nazwisko FROM Klienci2 WHERE ID_Klienta >500; UPDATE nazwa_tabeli / nazwa_perspektywy SET nazwa_kolumny_1=wartoć / wyrażenie_arytmetyczne, .......... nazwa_kolumny_n=wartoć / wyrażenie_arytmetyczne [WHERE warunek]; UPDATE Klienci SET ID_Klienta = (SELECT ID_Klienta FROM Klienci,Adresy WHERE Klienci.ID_Klienta=Adresy.ID_Klienta AND Adres='Katawice');> Kasowanie wierszy z tabeli DELETE FROM nazwa_tabeli [WHERE warunek] ; Definiowanie danych, tworzenie tablic CREATE TABLE nazwa_tabeli (nazwa_kolumny_1 typ_danych [NOT NULL] nazwa_kolumny_2 typ_danych [NOT NULL] ........... nazwa_kolumny_n typ_danych [NOT NULL] ; CREATE TABLE Klienci (ID_Klienta Number(4) PRIMARY KEY, Imie Varchar2(20) NOT NULL, Nazwisko Varchar2(20) NOT NULL, Status Varchar2(10) DEFAULT 'Aktualny'); CREATE TABLE Nieaktualne AS SELECT * FROM Klienci WHERE Status != 'Aktualny'; Definiowanie danych, zmiana tablic ALTER TABLE nazwa_tabeli ADD nazwa_kloumny typ_danych; ALTER TABLE Klienci ADD (Telefon Varchar2(10)); DROP TABLE nazwa_tabeli ; Definiowanie danych, tworzenie indeksu CREATE [UNIQUE] INDEX nazwa_indeksu ON nazwa_tabeli (nazwy(a)_kolumny [ASC/DESC]); Definiowanie danych, usuwanie indeksu DROP INDEX (nazwa_indeksu); Definiowanie danych, tworzenie synonimu CREATE SYNONYM nazwa_synonimu FOR nazwa_tabeli / nazwa_perspektywy; Definiowanie danych, usuwanie synonimu DROP SYNONYM nazwa_synonimu; Definiowanie danych, tworzenie perspektywy CREATE VIEW nazwa_perspektywy AS instrukcja_zapytania_w_SQL ; Definiowanie danych, usuwanie perspektywy DROP VIEW nazwa_perspektywy; Administrowanie danymi Przyznanie uprawnienia: GRANT ALL / SELECT / UPDATE / INSERT / DELETE / INDEX / ALTER dla obiektu: ON nazwy(a)_tabel(i) / nazwa_perspektyw(y) dla użytkownika: TO nazwy(a)_użytkowników(a); Usunięcie uprawnień REVOKE ALL / SELECT / UPDATE / INSERT / DELETE / INDEX / ALTER ON nazwy(a)_tabel(i) / nazwa_perspektyw(y) TO nazwy(a)_użytkowników(a); źródło http://figaro.ae.katowice.pl/~roznicki/sql.htm |