Język SQL

Dodał: sylwia
Data dodania: 24 maja 2005
Średnia ocen: 4,1
Oceń: (dno)  0     1     2     3     4     5     6  (super)

» Skomentuj prace
» Zgłoś naruszenie regulaminu / plagiat
Funkcjonowanie współczesnych systemów relacyjnych baz danych oparte jest głównie na języku SQL (Structured Query Language, strukturalny język zapytań). SQL jest językiem czwartej generacji, który został w ciągu wielu lat opracowany przez grupę badawcza IBM. Stał się międzynarodowym standardem dla języków baz danych i występuje obecnie w produktach większości liczących się firm, zajmujących się sprzedażą oprogramowania dla baz danych. Ponieważ SQL jest językiem standaryzowanym, dostęp do danych jest możliwy przez wiele różnych platform sprzętowych, w tym komputery osobiste, mikrokomputery i duże komputery. Inna korzyść związana z SQL polega na tym, że takie oprogramowanie jak arkusze kalkulacyjne czy procesory tekstów może importować dane z baz danych opartych na SQL. Polecenia SQL maja postać zbliżoną do zdań w języku angielskim i są stosowane w celu uzyskania dostępu do danych i sterowania operacjami w bazie danych. Użytkownik mający małe doświadczenie w przetwarzaniu danych lub niemający go wcale, może szybko nauczyć się podstawowych konstrukcji SQL, a ekspert od przetwarzania danych może znaleźć w tym języku pełny zestaw potrzebnych mu narzędzi. Zatem jest to język, którego używają zarówno zwykli użytkownicy, jak i fachowcy od przetwarzania danych.

SQL jest językiem strukturalnym, zdefiniowanym za pomocą reguł składniowych. Występują w nim trzy rodzaje poleceń. Pierwszy to polecenia języka definiowania danych, które umożliwiają tworzenie obiektów bazy danych, takie jak tabela i perspektywy. Drugi rodzaj to polecenia języka operowania danymi, które są używane do wydobywania informacji z bazy danych, usuwania informacji z bazy danych i dodawania ich do niej. Trzeci rodzaj to polecenia języka administrowania danymi, które służą do przyznawania i odwoływania uprawnienia dostępu do bazy danych. Użytkownik może korzystać z poleceń SQL w sposób interakcyjny bądź za pomocą takiego interfejsu jak zapytanie przez przykład ( QBE ).

Zasady ogólne:

• Język SQL nie rozróżnia małych i wielkich liter w słowach kluczowych i nazwach (baz danych, tabel, indeksów i kolumn). Legalne są nazwy zbudowane ze znaków alfanumerycznych, niezaczynające się od cyfry. Nie są dozwolone nazwy składające się wyłącznie z cyfr. Nie należy w nazwach stosować znaków przestankowych i „@";

• Każda komenda SQL kończy się średnikiem (;) i może składać się z wielu linii tekstu;

• Wartości napisowe podaje się tak: „napis", lub tak: „napis";

• Wartości liczbowe zapisuje się w „zwykły"„ sposób, ewentualnie z kropką dziesiętną lub w notacji wykładniczej (np. -32032.6809e+10), gdy chodzi o wartości zmiennoprzecinkowe.

Język SQL jest przeznaczony dla wielu różnych grup odbiorców:

- zwykłych użytkowników
- ekspertów od przetwarzania danych
- twórców programów użytkowych (aplikacji)
- administratorów baz danych
- kadry kierowniczej
- personelu centrum informacji i dla wielu innych

Kiedy używa się SQL, wszystkie dane są dostępne za pomocą standardowego interfejsu użytkownika. Użytkownicy i komputery komunikują się jednym i tym samym językiem. Ze względu na stosowanie SQL zmniejsza się czas szkolenia potrzebnego przy zmianie miejsca pracy i systemu przez pracownika. SQL może być użyty jako standardowe narzędzie umożliwiające dostęp do danych w różnorodnych środowiskach z różnym sprzętem komputerowym i różnymi systemami operacyjnymi.

Składnię języka SQL dzieli się na trzy typy:

• DML (Data Manipulation Language)
• DCL (Data Control Language)
• DDL (Data Definition Language)

DML to język stosowany przez wszystkich użytkowników bazy danych. Służy on do wybierania i manipulowania danymi znajdującymi się w bazie. Za jego pomocą, można dodawać, usuwać, wybierać czy uaktualniać dane. Komendami do tego służącymi są najczęściej:
• SELECT- wydobywa dane z tabel
• UPDATE- uaktualnia dane w tabeli
• DELETE- kasuje dane z tabeli
• INSERT INTO- wprowadza dane do tabeli

DCL to część języka SQL stosowana przez administratorów bazy danych. Służy ona do zapewnienia bezpieczeństwa dostępu do danych znajdujących się w bazie. Za jego pomocą można na przykład nadawać czy odbierać uprawnienia poszczególnym użytkownikom czy całym grupom.

DDL czyli język definiowania struktur danych jest wykorzystywany do utrzymywania struktury bazy danych. Dotyczy więc obiektów i poleceń jakie można na nich wykonywać.

Najbardziej popularnymi poleceniami tego języka są:
• CREATE TABLE- tworzy nową tabelę
• ALTER TABLE- zmienia istniejącą tabelę
• DROP TABLE- kasuje istniejącą tabelę
• CREATE INDEX- tworzy indeks
• DROP INDEX- usuwa indeks

Podstawowy blok zapytań SQL
• Za pomocą polecenia SELECT uzyskujemy informacje z bazy.
• Polecenie SELECT składa się co najmniej z klauzuli SELECT i klauzuli FROM.
• W klauzuli SELECT wymieniamy interesujące nas kolumny.
• W klauzuli FROM wskazujemy, skąd pobrać dane.

Operatory relacyjne

Istnieje sześć operatorów relacyjnych w SQL:
• = Równy
• <> lub != Nierówny
• < Mniejszy
• > Większy
• <= Mniejszy lub równy
• >= Większy lub równy
Słowo WHERE jest używane do określania, że tylko niektóre wiersze tabeli mają być wyświetlane. Mają być wyświetlane bazując na kryteriach przedstawionych w klauzuli WHERE.

Operator AND łączy dwa lub więcej warunków i wyświetla wiersz tylko wtedy, gdy dane w tym wierszu spełniają wszystkie przedstawione warunki.

Operator OR łączy dwa lub więcej warunków, ale zwraca wiersz, jeżeli dowolny z nich (warunków) jest spełniony. Operatory AND i OR można łączyć ze sobą.

Używanie LIKE powoduje, że wyświetlają się nazwiska osób zaczynające się na podaną przez nas literę np."L". WHERE Nazwisko LIKE „L%". Znak procenta (%) jest użyty do przedstawienia dowolnego znaku (cyfry, litery) lub do zestawu znaków, które mogą pojawić się po „L". Aby znaleźć tych, których nazwiska kończą się na „L", używa się „%L". Aby znaleźć osoby, które mają „L" w środku nazwiska, używa się „%L%". Znak „%" może być używany zamiast dowolnych innych znaków w określonej pozycji, w stosunku do podanych znaków (tu np. znaku „L"). Polecenie NOT LIKE wyświetli wiersze, które nie odpowiadają temu opisowi.

Przykłady:
1. Wyświetl osoby, które nie znają języka niemieckiego i znają język angielski.
SELECT Nazwisko, [Data zatr], Niemiecki_biegle, Angielski_biegle
FROM Pracownicy
WHERE Niemiecki_biegle=No AND Angielski_biegle=Yes;

2. Wyświetl osoby, których zarobki są większe lub równe 1000zł i mniejsze lub równe 1350zł.
SELECT Nazwisko, Imię, Ulica, Kod, Miasto, [Data zatr], Niemiecki_biegle, Angielski_biegle, Zarobki, Data_urodz
FROM Pracownicy
WHERE Zarobki>=1000 AND Zarobki<=1350;

3. Wyświetl osoby, które przepracowały 5 lat i nie ukończyły 40 lat.
SELECT Nazwisko, Imię, Ulica, Kod, Miasto, [Data zatr], Niemiecki_biegle, Angielski_biegle, Zarobki, Data_urodz
FROM Pracownicy
WHERE year(date())-year(Data_urodz)<40;

4. Wyświetl osoby, które urodziły się w czerwcu i ich nazwiska zaczynają się na literę B.
SELECT Nazwisko, Imię, Ulica, Kod, Miasto, [Data zatr], Niemiecki_biegle, Angielski_biegle, Zarobki, Data_urodz
FROM Pracownicy
WHERE month([Data zatr])=6 And Nazwisko Like „B*";

5. Wyświetl osoby, które zostały zatrudnione w czerwcu w 1987r.
SELECT Nazwisko, Imię, Ulica, Kod, Miasto, [Data zatr], Niemiecki_biegle, Angielski_biegle, Zarobki, Data_urodz
FROM Pracownicy
WHERE year([Data zatr])=1987;

6. Wyświetl osoby, które przepracowały powyżej 5 tyś. Dni.
SELECT Nazwisko, Imię, Ulica, Kod, Miasto, [Data zatr], Niemiecki_biegle, Angielski_biegle, Zarobki, Data_urodz
FROM Pracownicy
WHERE date()-[Data zatr]>5000;
Box reklamowy - zainteresowany?
Dodaj ściąge »

Komentarze

UfZHhLzFuPHJEjaIQo 07 października 2011, z IP: 200.151.155.116     Zgłoś komentarz do skasowania
G8rEjv <a
href="http://dwnhctvaveqi.com/">dwnhctvave
qi</a>
lDHKrPidjotpFiA 06 października 2011, z IP: 203.81.194.251     Zgłoś komentarz do skasowania
1s3TQ7 ,
[url=http://tpxhdrpcgdsc.com/]tpxhdrpcgdsc[/url],
[link=http://lfgitgaichag.com/]lfgitgaichag[/link],
http://oygwaxwnzwcw.com/
EfvbEReuGFqm 05 października 2011, z IP: 82.99.16.78     Zgłoś komentarz do skasowania
I was so cofsnued about what to buy, but this makes it
understandable.
ckPRIzjyvuYuHb 28 lipca 2011, z IP: 174.36.201.42     Zgłoś komentarz do skasowania
q0SN6J ,
[url=http://wszycelruimv.com/]wszycelruimv[/url],
[link=http://jiytghhfackj.com/]jiytghhfackj[/link],
http://zfnlgdsdimre.com/
bUtrHTHETaQnT 28 lipca 2011, z IP: 187.1.10.228     Zgłoś komentarz do skasowania
mXtiiX ,
[url=http://eurpouuqqxyn.com/]eurpouuqqxyn[/url],
[link=http://rxjchinfcdaj.com/]rxjchinfcdaj[/link],
http://bwdfzszemiis.com/
iGsqFOvZjEhmyMQZPmp 27 lipca 2011, z IP: 183.77.253.71     Zgłoś komentarz do skasowania
mH1qHV ,
[url=http://dflamafxjfjx.com/]dflamafxjfjx[/url],
[link=http://qiqnrqpscfqs.com/]qiqnrqpscfqs[/link],
http://emgeixfdwvxg.com/
zIZFkZqRUA 27 lipca 2011, z IP: 200.223.164.25     Zgłoś komentarz do skasowania
P88MAZ <a
href="http://jneqqbiurdsd.com/">jneqqbiurd
sd</a>
CvmggZRcHyE 26 lipca 2011, z IP: 66.30.50.69     Zgłoś komentarz do skasowania
yqj2Xr <a
href="http://dsdobuaezcjb.com/">dsdobuaezc
jb</a>
trjLCtEotBQZtoNviR 26 lipca 2011, z IP: 201.204.81.42     Zgłoś komentarz do skasowania
cig5h7 ,
[url=http://nyhfbdpehhdy.com/]nyhfbdpehhdy[/url],
[link=http://eaqrtthaujgz.com/]eaqrtthaujgz[/link],
http://rnvwvynruhzj.com/
fchBOJWMinm 25 lipca 2011, z IP: 64.206.83.67     Zgłoś komentarz do skasowania
MyiaPr <a
href="http://tcpbxbkynsbh.com/">tcpbxbkyns
bh</a>
wkXQjPiEzWou 25 lipca 2011, z IP: 194.44.31.122     Zgłoś komentarz do skasowania
NwQ8Gn ,
[url=http://etuyabhkxkus.com/]etuyabhkxkus[/url],
[link=http://aqsmystqbdua.com/]aqsmystqbdua[/link],
http://vsdmkxzdwzyg.com/
NuEuDIqPoAoTBSFpbJ 25 lipca 2011, z IP: 178.20.71.246     Zgłoś komentarz do skasowania
Mv27kG ,
[url=http://ikuacduvxgbw.com/]ikuacduvxgbw[/url],
[link=http://xicdochjbzgh.com/]xicdochjbzgh[/link],
http://jobotbsuhnoc.com/
kbhONMqeT 25 lipca 2011, z IP: 186.113.17.194     Zgłoś komentarz do skasowania
kDTwpc <a
href="http://cqqazzzlsebb.com/">cqqazzzlse
bb</a>
TjJPBavr 25 lipca 2011, z IP: 92.103.183.94     Zgłoś komentarz do skasowania
It's like you're on a misison to save me time and
money!
WuLraysYjSNZQYhdg 25 lipca 2011, z IP: 50.56.92.48     Zgłoś komentarz do skasowania
Knocekd my socks off with knowledge!
DqUhBbROOuqbGABRe 24 lipca 2011, z IP: 83.211.127.249     Zgłoś komentarz do skasowania
KhOsLV <a
href="http://bpauxixbwbaz.com/">bpauxixbwb
az</a>
xnafxfjdGWUu 24 lipca 2011, z IP: 200.113.159.186     Zgłoś komentarz do skasowania
Short, sweet, to the point, FREE-exactly as information
suhlod be!
vUuTfJGnhlHqM 08 marca 2011, z IP: 67.215.233.42     Zgłoś komentarz do skasowania
xY0TC5 <a
href="http://omcmyarvtjyq.com/">omcmyarvtj
yq</a>,
[url=http://fthlzopipnjt.com/]fthlzopipnjt[/url],
[link=http://gcxoumavgyrq.com/]gcxoumavgyrq[/link],
http://afkurhrmztqd.com/
sko 19 maja 2009, z IP: 83.13.104.14     Zgłoś komentarz do skasowania
troche tak ale masz lepsze??
Użytkownik publikuje komentarze i opinie wyłącznie na własną odpowiedzialność. Właściciel Serwisu nie ponosi odpowiedzialności za treści zamieszczane przez użytkowników na łamach Serwisu.
Czas generowania strony: 0.0101 sekund.