You are on page 1of 27

1.

mSQL- STRUKTURALNY JĘZYK ZAPYTAŃ

Sql ze względu na czynność jaką dane zapytanie ma wykonać dzielimy na następujące grupy wyrażeń

DDL Data definition CREATE, ALTER, DROP, Język definiowania


Language TRUNCATE danych(JDD) stosowany
do tworzenia schematu
danych. Definiuję
strukturę danych.
DML Data manipulaion INSERT, UPDATE, Język manipulowania
Language DELETE danymi(JMD) służący do
wypełniania bazy
danych, usuwania
informacji i
modyfikowania danych.
DCL Data Control GRAND, DENY, Język kontrolowania
Language REVOKE danych(JKD) sprawuje
kontrole nad
transakcjami – steruje
nimi.
DQL Data Query Language SELECT Język zapytań(JZ),
którego zadaniem jest
pobieranie informacji
spełniających określone
warunki.
TCL Transaction Control COMMIT, ROLLBACK, Język sterowania
Language SAVEPOINT przepływem(JSP)
danych(kontrola
transakcji).

2. ZAPISYWANIE POLECEŃ SQL

-polecenia SQL mogą być rozmieszczone w kilku liniach. Koniec polecenia SQL zaznacza się
średnikiem.

-zaleca się umieszczenie klauzul od nowej linijki

-można używać tabulacji

-nie wolno dzielić słowa poza linie

-obojętnie czy używamy małych czy wielkich liter, chyba że sprawdzamy zawartość pola

WYRAŻNIA ARYTMETYCZNE ORAZ KOLENOŚĆ TYCH WYRAŻEŃ TAKA SAMA JAK W MATEMATYCE

OBSŁUGA WARTOŚCI NULL

Jeśli wartość wiersza w kolumnie jest nieokreślona, to mówimy że ma ona wartość NULL. Nie jest to
tożsame z wartością 0.

OPERATORY SQL
Wyróżniamy 4 operatory SQL, działające na wszystkich typach danych.

-BEETWEN… AND ,

-IN(LISTA)

-LIKE

-IS NULL

OPERATOR BETWEEN…AND

Operator BETWEEN..AND służy do sprawdzenia, czy wartość znajduję się w podanym


przedziale(wliczając w to końce przedziału). Górna granica musi następować po dolnej.

OPERATOR IN służy do sprawdzenia, czy dana wartość znajduje się na wyspecjalizowanej liście

OPERATOR LIKE służy do wybierania wartości odpowiadających podanemu wzorowi.

Wzorzec tworzą dwa specjalne symbole.

-%(znak procent) – odpowiada odpowiedniemu ciągowi znaków.

-(znak podkreślenia) – odpowiada dokładnie jednemu dowolnemu znakowi.

OPERATOR IS NULL służy do wyszukiwania wartości NULL

OPERATOWRY NEGACJI

Operatory negacji służą do zaprzeczania warunkom w klauzuli WHERE.

!= Nie jest równy (VAX, UNIX, PC)


<> Nie jest równy(wszystkie systemy operacyjne)
NOT kolumna= Nie jest równy
NOT kolumna- Nie jest większy
NOT BETWEEN Nie jest w podanym przedziale
NOT IN Nie jest w zbiorze
NOT LIKE Nie jest zgodny z maską
IS NOT NULL Nie jest NULL

TWORZENIE ZŁOŻONYCH KRYTERIÓW

Do budowania warunków złożonych służą operatory AND (i) oraz OR (lub)

HERARCHIA OPERATORÓW
W każdym wyrażeniu, o ile nawiasy nie wskazują inaczej, operacje są wykonywane począwszy od
operatorów o najwyższym priorytecie. Jeśli dwa operatory o tym samym priorytecie wskazują obok
siebie, to są one wykonywane od lewej do prawej.

1. =,<>,<=,>=,>,<,BETWEEN…AND,IN,LIKE,IS NULL,
2. NOT
3. AND
4. OR

Aby zapis był bardziej przejrzysty i w celu uniknięcia błędów, zaleca się stosowanie nawiasów.

Typy danych w SQL

Poszukać na Internecie i wstaw w to miejsce typy danych i atrybuty języka SQL!

Logowanie do serwera MY SQL

MySQL –h nazwa_serwera –u nazwa_użytkownika –p zatwierdzamy i wpisujemy hasło

-h ---określa komputer na jakim pracuje serwer

-u ---określa konto na jakie chcemy się zalogować

-p ---określa uwierzytelnianie za pomocą hasła

Np.

Dla roota (głównego administratora)

Na serwerze localhost

MySQL –h localhost -u root –p Dla studenta na serwerze localhost

creat

MySQL –h localhost –u student –p

hasło: student

Tworzenie nowej bazy


Uaktywnianie pierwszej bazy

Wyświetlenie struktury tabeli

Kasowanie tabeli

Tworzenie tabeli z polami wyboru


może zawierać każdą z możliwych wartość ze zbioru

może zawierać tylko jedną wartość ze zbioru

Tabela tymczasowa

Tabele z polami o wartościach domyślnych


Edycja tabel
Dodanie dowolnej kolumny jako ostatniej

Dodanie kolumny na dowolnej pozycji

Dodanie kolumny na pierwszej pozycji


Usuwanie kolumny

Dodawanie kolumny z key i auto numerowaniem ,

Zmiana nazwy kolumny i typu danych ,atrubutów


Zmiana typu danych oraz atrybutów

Usuwanie auto numerowania

Ćwiczenia
Wyświetlić wszystkich pracowników w miejscowości rozpoczynających się na literę o lub l i nie
pracujący na grafiku i informatyku
Proszę wyświetlić wszystkie osoby urodzone w lipcu i sierpniu i posortować je od najmłodszych do
najstarszych

I ogranicz wyświetlenie do 3 pierwszych rekordów


Funkcje tekstowe w SQL
LEFT-wycina z lewej strony zadeklarowaną liczbę znaków
RIGHT – Wycina z prawej strony zadeklarowaną liczbę znaków

LCASE – Zamiana łańcuch znakowy na małe litery

LOWER

UCASE – Zamienia łańcuch znakowy na wielkie litery


UPPER – robi to samo co u góry

LENGTH – zlicza znaki w łańcuchu znakowym


INSTR- ustala pozycję łańcucha znakowego w innym łańcuchu znakowym

LOCATE – ustal pozycję łańcuch znakowego w innym łańcuchu znakowym

INSERT – zamienia łańcuch znakowy na inny łańcuch znakowy


MID – zwraca łańcuch znakowy wycięty z innego łańcucha znakowego

SUBSTRING - zwraca łańcuch znakowy wycięty z innego łańcucha znakowego


REPLACE – zamienia łańcuch znakowy na inny łańcuch znakowy

REVERSE – odwraca łańcuch znakowy

SPACE(n) – powoduje zwrócenie liczby spacji określonej jako parametr. N –liczba spacji

CONCAT(ŁAŃCUCH1 ,ŁAŃCUCH2,…………..,ŁAŃCUCH_N) – służy do sklejania łańcuchów znakowych


LTRIM() – z podanego ciągu znaków usuwa wiodące spacje,

RTRIM() – usuwa kończące (wolne) spacje,

TRIM() – zarówno wiodące, jak i wolne spacje ,

Ćwiczenia
Zad1.

Wyświetl imię nazwisko oraz inicjały(rozdziel 2 pierwsze litery 2 spacjami)


Zad2.

Podmień w nazwie stanowiska każde wystąpienie literału „ik” oraz „yk” liczbą 55

Zad3.

Wyświetl wszystkie osoby które nazwie stanowisko nie posiadają litery o lub a,(nie stosujemy
wzorców ani masek)
Zad4.

Zmień w nazwie stanowiska ostatnia literę na dużą

PRAWIDŁOWE

Zad5.

Policz ile znaków ma łańcuch złożony z imienia i nazwiska .


Zad6.

Zamień w nazwie stanowiska 2 i 3 literę na liczbę 55.

Zad7.

Policz ile literek a jest w nazwie każdego stanowiska

Zad8.

Zamień ostatnia liczbę stanowiska na duża


Zad9.

Zamień w nazwie stanowiska 2 znak na duży

Zad10.

Zamień przed ostatnią literę nazwie stanowiska na dużą


Funkcje AgregujAce
Do grupowania wierszy służy klauzula GROUP BY:

Dane unikalne(distinct)-policz ile jest stanowisk w wierszu

Sumowanie danych w rekordach

Przykład ; sumuj pensje wszystkich informatyków

Wyznaczanie średniej z danych umieszczonych w grupie rekordów


Policz średnia pensje w każdej grupie zawodowej

Klauzula HAVING- jest ściśle związana z klauzulą GROUP BY. Określa, które wiersze zostaną zwrócone
przez klauzulę GROUP BY.

Inaczej mówiąc: HAVING –ogranicza grupy

Tak jak : WHERE –ogranicza rekordy

Wyznaczanie maksymalnej i minimalnej wartości z danych umieszczonych w grupie rekordów

Najstarszy:

Najmłodszy:

Najstarszy informatyk
Kolejność występowania klauzul w poleceniu

Wymagany porządek klauzul jest następujący:

1. SELECT lista wyrażeń

2. FROM tabela

3. WHERE warunek selekcji wierszy

4. GROUP BY

5. HAVING warunek selekcji grup

6. ORDER BY wyrażenia

7. LIMIT

Zad 1.

Policz ile osób pracuje na każdym ze stanowisk.

Zad2.

Policz średnia pensje na każdym ze stanowisk.


Zad3.

Ogranicz wyświetlone stanowisko do tych gdzie średnia jest (większa) > 3500

Zad4.

Posortuj ograniczone grupy od najmniejszej do największej

Zad5.

Wyświetl najwyższe pensje na każdym ze stanowisk

Zad6.

Wyświetl stanowiska z najniższą pensją


Zad7.

Sumuj pensje wszystkich pracujących w każdym z zawodów.

Zad8.

Posortuj od najniższej do najwyższej

I ogranicz sumy d przedziału od 10 do 25tys.

Zad9.

Wyznacz całkowitą pensje wszystkich informatyków i grafików razem wziętych


Zad10.

Policz ile osób pracuje na stanowisku które w swojej nazwie ma ciąg ‘yk’.

Zad11.

Sumuj pensje na każdym ze stanowisk a następnie posortuj od najwyższej do najmniejszej.

Ogranicz do tych gdzie suma jest większa niż 35 tys.

Policz ile osób ma imię które jest palindromem

You might also like