Temperatura w Ostrołęce


powered_by.png, 1 kB

Składnia SQL | Drukuj |  Email

 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 
 
© 2008 ARTZI.NET Tomasz Zielinski :: Joomla! i Joomla! IE jest Wolnym Oprogramowaniem wydanym na licencji GNU/GPL.