ABD 3

background image

Administracja bazami danych

II Strukturalny język zapytań w MySQL

1. Czym jest SQL?


SQL (Structured Query Language) to strukturalny język zapytań. Jest to światowy
standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych
bazach danych. Jego polecenia mają postać podobną do zdań w języku angielskim.

SQL zapewnia obsługę:

• zapytań - wyszukiwanie danych w bazie,

• operowania danymi - wstawianie, modyfikowanie i usuwanie

• definiowania danych - dodawanie do bazy danych nowych tabel

• sterowania danymi - ochrona przed niepowołanym dostępem


Język SQL jest niewrażliwy na rejestr czcionki, czyli wielkie i małe litery nie są
rozróżniane. Jednak przyjęło się, że wszelkie polecenia typu „SELECT”, „INSERT”,
„FROM” oraz inne tego typu piszemy wielkimi literami. Głównie ze względu na to, że
umożliwia to ich łatwe odnalezienie w czasem bardzo długim zapytaniu.

2. Tworzenie bazy danych


Po połączeniu się z serwerem bazy danych, możemy przystąpić do pracy na naszej bazie.
Jednak zamiast korzystać już istniejących, warto zacząć od stworzenia własnej. Tutaj
należy właściwie tylko pamiętać, żeby opisywała ona w jakiś sposób to co się w niej
znajduje. Np. główną bazę danych szkoły można nazwać… „szkola”.

mysql> create database szkola;

Jeśli baza zostanie poprawnie utworzona, powinniśmy otrzymać komunikat w stylu
„Query OK, 1 row affected”. Możemy to też sprawdzić przy pomocy polecenia:

mysql> show databases;

Następnie musimy wybrać bazę, na której chcemy pracować. W tym celu skorzystamy z
polecenia:

mysql> use szkola;

Znowu, jak i za każdym następnym razem, powinieneś otrzymać stosowny komunikat –
w tym przypadku „Database changed” w przypadku poprawnego wykonania operacji.
Jeśli w dowolnym monecie chciałbyś sprawdzić na jakiej bazie danych pracujesz, możesz
to zrobić poniższym poleceniem:

mysql> select database();

background image

Wyświetli on nazwę bazy z której korzystasz, jeśli nie korzystasz z żadnej, to
wyświetlone zostanie „NULL”.

3. Tworzenie tabel w bazie


Po stworzeniu bazy, możemy przejść już do tworzenia konkretnych tabel. Tutaj oprócz
odpowiedniej nazwy, musimy się też zastanowić jakie dane będziemy chcieli w niej
przechowywać. Jest to ważne przy tworzeniu kolumn oraz nadawaniu im odpowiednich
typów.

Przykładowo, dla tabeli „uczniowie” mogło by to wyglądać w ten sposób:

mysql> create table uczniowie
(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
imie VARCHAR(15) NOT NULL,
nazwisko VARCHAR (20) NOT NULL,
email VARCHAR (50) NULL,
miasto VARCHAR (50) NULL,
kierunek VARCHAR (50) NOT NULL
);

Stworzyliśmy tabelę z kolumnami: id, imie, nazwisko, email, miasto oraz kierunek. Po
każdej nazwie kolumny podaliśmy jej typ oraz dodatkowe atrybuty. NULL oraz NOT
NULL oznaczają, czy wymagane jest wpisanie czegoś do tej kolumny (NT NULL) lub czy
jest to obligatoryjne (NULL), AUTO_INCREMENT oznacza automatyczne uzupełnianie
pola poprzez nadawanie mu kolejnych, unikalnych numerów, a PRIMARY KEY oznacza
ustawienie klucza głównego – zwykle podawane razem z AUTO_INCREMENT właśnie w
kolumnie id.

Więcej typów oraz danych dla kolumn oraz ich atrybuty znajdziesz w punkcie
„dodatkowe informacje”. Najczęściej wykorzystywane typy danych to: INT, VARCHAR,
DATE, DATETIME. Natomiast z atrybutów, warto zaznajomić się z: NULL/NOT NULL,
AUTO_INCREMENT, DEFAULT, PRIMARY KEY.

Po utworzeniu tabeli, powinniśmy dostać stosowną informację. Możemy sprawdzić listę
istniejących tabel w naszej bazie danych za pomocą polecenia:

mysql> show tables;

Lub uzyskać szczegółowe informacje o naszej tabeli przy pomocy polecenia:

mysql> describe uczniowie;

4. Dodawanie rekordów do tabel


Po dodaniu tabeli, możemy w końcu przystąpić do dodawania do niej rekordów.
Składania dodawania jest prosta:

background image


INSERT INTO nazwa_tabeli VALUES (lista_wartości);

Pole „nazwa_tabeli” wskazuje na tabelę w bazie danych do której chcemy wstawić
wartości podane w „lista_wartości”. Dlatego w przypadku naszej tabeli „uczniowie”,
możemy dodać nowy rekord przy pomocy takiego polecenia:

mysql> INSERT INTO uczniowie VALUES (DEFAULT,'Jan',
'Kowalski', 'jan@kowalski.pl ', 'Gdynia ', 'Informatyka');

Trzeba pamiętać, że jeśli któraś z kolumn posiada atrybut „AUTO_INCREMENT”, to
wartość jej pola musimy podać jako „DEFAULT”. Chyba, że nie chcemy podawać danych
do wszystkich kolumn, wtedy musimy wyszczególnić, które konkretnie dane podajemy,
a pole z atrybutem „AUTO_INCREMENT” możemy w takim wypadku pominąć.
Przykładowo:

mysql> INSERT INTO uczniowie (imie, nazwisko, kierunek) VALUES
('Adam ', 'Nowak ', 'Elektronika');

Po dodaniu rekordów do tabeli, możemy wyświetlić wszystkie dane w tabeli przy
pomocy polecenia:

mysql> select * FROM uczniowie;

5. Dodatkowe informacje

• Tworzenie tabel w MySQL:

http://www.sql-kursy.pl/mysql-podstawy-mysql-

create_table.html

• Typy danych w kolumnach w MySQL:

http://www.tutorialspoint.com/mysql/mysql-data-types.htm

Zadania:

1. Utwórz bazę danych o nazwie szkola.
2. Dodaj w tej bazię tabelę o nazwie „przedmioty”. Niech ta tabela posiada koleumny: id,
nazwa_przedmiotu, prowadzacy, ilość_godzin. Nadaj im odpowiednie typy oraz atrybuty.
3. Dodaj do tej tabeli 10 rekordów. Do niektórych dodaj wszystkie pola, do innych tylko
te wymagane (z atrybutem NOT NULL). Wyświetl zawartość tabeli na ekranie.


Wyszukiwarka

Podobne podstrony:
ABD 3
abd egz opr do druku
ABD 4
Chirurg abd 3
12 Ibn Abd Rabbihi
Chirurg abd 4
abd
ABD
abd
ABD termin I
Chirurg abd 1
ABD 2
abd
ABD termin II
abd

więcej podobnych podstron