Krótki przewodnik po MySQL /źródło www.rudnicki.info /

Transkrypt

Krótki przewodnik po MySQL /źródło www.rudnicki.info /
Krótki przewodnik po MySQL /źródło www.rudnicki.info /
Język SQL (Structured Query Language) powstał w latach 70, został stworzony przez IBM.
Mimo tego że ojcem SQL'a był IBM implementacja sprzętowa została stworzona przez firmę
Oracle. Międzynarodowa wersja pierwszego standardu SQL została zatwierdzona przez ISO
w 1987 roku.
SQL jest językiem wysokiego poziomu do zarządzania bazami danych o bardzo dużych
możliwościach, ale z niewielką ilością instukcji. Jest łatwy do nauki, ale stanowi również
potężne narzędzie dla profesjonalistów.
Uwaga, ten tekst nie należy traktować jako kompletny kurs SQL'a, proszę potraktować go
raczej jako skrótowy spis podstawowych instrukcji SQL. W internecie istnieje kilka
kompletnych tutoriali SQL'a po polsku, myślę, że ten tekst może stanowić usystematyzowanie
wiedzy zdobytej na temat SQL'a.
MySQL:
Przedstawione przykłady będą opierały się o bazę danych MySQL. Aby poćwiczyć tworzenie
zapytań, należy zalogować się do bazy danych: aby zalogować się do bazy danych mySQL
należy w konsoli przejść do katalogu gdzie zainstalowaliśmy mySQL, następnie do katalogu
bin i wpisać polecenie:
mysql -u <nazwa_użytkownika> -p
Po wpisaniu hasła będziemy już mogli wykonywać różne zapytania w naszej bazie danych.
Na początek będziemy musieli utworzyć bazę danych i ją aktywować (patrz: Praca z bazami
danych).
Ogólne zasady budowania zapytań SQL:




Każde zapytanie powinno kończyć się średnikiem.
Zapytania nie muszą znajdować się w jednej linii.
Jeśli nazwa pola/wartości pola, którą wprowadzamy do tablicy zawiera, chociaż jedną
spację musimy to wyrażenie umieścić w apostrofach, np. 'złota lampa'
Polecenia można pisać dużymi, jak i małymi literami, jednak zaleca się przyjęcie
standardu.
Praca z bazami danych i tabelami (DDL):







USE <nazwa_bazy_danych> - wybieramy na której bazie danych chcemy pracować
SHOW TABLES - służy do pokazania wyświetlenia wszystkich tabeli z uprzednio
wybranej bazy danych
SHOW DATABASES - wyświetla wszystkie bazy danych
CREATE DATABASE <nazwa> - tworzy nową bazę danych
CREATE TABLE <nazwa> ([kolumny]); - tworzy nową tabelę, między nawiasami
powinna znajdować się definicja kolumn o następującej składni:
<nazwa_kolumny> <typ_pola> [dodatkowe_właściwośći],
NOT NULL - pole nie może być puste



DEFAULT '<wartość>' - domyślna wartość dla pola
PRIMARY KEY (<nazwa>) - ustawienie klucza głównego
AUTO_INCREMENT - właściwość, dzięki której pole przy dodawaniu rekordów
będzie automatycznie inkrementowane (najczęściej stosowane dla klucza głównego,
bo pozwala w automatyczny sposób uzyskać niepowtarzalną wartość w polu, moża go
stosować tylko dla typu liczbowego całkowitego).
CREATE TABLE projekty
(
id_projekt INT NOT NULL auto_increment,
opis_krotki BLOB NOT NULL,
opis_dlugi BLOB NOT NULL,
data_dodania DATE NOT NULL,
PRIMARY KEY (id_projekt)
);












DROP DATABASE <nazwa> - usuwa bazę danych
DROP TABLE <nazwa> - usuwa tablicę
DESCRIBE <nazwa_tabeli> - wyświetla dokładny opis tabeli
ALTER TABLE <nazwa_tabeli> - modyfikacja tabeli
ADD <definicja_nowej_kolumny> - dodanie nowej kolumny na końcu,
ADD <definicja_nowej_kolumny> AFTER <pole> - dodanie nowej kolumny po
wyznaczonej kolumnie
ADD <definicja_nowej_kolumny> FIRST - dodanie nowej kolumny na początku
CHANGE <nazwa_kolumny> <definicja_nowego pola> - zmienia całkowicie
kolumnę
MODIFY <nazwa_kolumny> - zmiana tylko właściwości kolumny
DROP COLUMN <nazwa_kolumny> - usunięcie kolumny
RENAME <nowa_nazwa_tabeli> - zmiana nazwy tabeli
Praca z rekordami (DDM):









INSERT INTO < nazwa_tabeli > VALUES (< wartości_dla_pól >); - dodanie nowego
wiersza do tabeli, w nawiasie muszą znajdować się wartości dla wszystkich pól
INSERT INTO < nazwa_tabeli > ( nazwy_pól) VALUES (wartości_dla_pól); dodanie nowego wiersza do tabeli, w przeciwieństwie do polecenia powyżej, tylko
takie wartości dla pól muszą być wprowadzone jakie zostały wcześniej napisane w
liście pól
SELECT < lista_pól > FROM < nazwa_tabeli > [WHERE < warunek >] - wybieranie
odpowiednich rekordów z tabeli, w liście pól mogą znajdować się również takie
funkcje:
MAX(<nazwa_kolumny>) - zwraca największą wartość
MIN(<nazwa_kolumny>) - zwraca najmniejszą wartość
COUNT(*) - łączna liczba rekordów
SUM(<nazwa_kolumny>) - suma wartości pól podanej kolumny
AVG(<nazwa_kolumny>) - średnia wartości pól podanej kolumny













do łączenia warunków służą polecenia AND i OR
do grupowania warunków służą nawiasy
operatory dla warunków: ‘=’ ‘<>’ ‘!=’ ‘<’ ‘>’ ‘<=’ ‘>=’
<nazwa_kolumny> IN (<wartości>) - dzięki temu wyrażeniu w prosty sposób
możemy wybrać rekordy z wybranej kolumny które równają się wartościom podanym
w nawiasie
<nazwa_kolumny> BETWEEN <dolna_wartość> AND <górna_wartość> - wyrażenie
to pozwala wybrać takie rekordy których wartość zawiera się pomiędzy określonymi
wartościami
NOT - pozwala zanegować inne wyrażenie
LIKE ‘<wzorzec>’ - polecenie to pozwala tworzyć wzorce zapytań (we wzorach
symbol % zastępuje dowolny ciąg znaków, zaś _ zastępuje pojedynczy znak)
ORDER BY <nazwa_kolumny> - pozwala sortować rekordy (ASC - rosnąco; DESC malejąco)
DISTINCT - słowo to umieszcza się przed nazwą kolumny i pozwala aby w
zwracanych rekordach wartości nie mogły się powtarzać
LIMIT <wartość> - pozwala otrzymać tylko określoną liczbę rekordów
UPDATE < nazwa_tabeli > SET < nazwa_pola > = < wartość > WHERE < warunek >
- polecenie modyfikuje rekord
DELETE FROM < nazwa_tabeli > WHERE < warunek > - kasuje wszystkie pola
które spełniają określony warunek
Typy pól:







char(m) - przechowuje teksty o ustalonej z góry długości m (1>m>255)
varchar(m) - w przeciwieństwie do typu char, typ varchar przechowuje taką długość
tekstu jaka jest aktualnie wykorzystywana
int - pole przechowuje liczby całkowite z przedziału -2147483647 do 2147483647
date - pole przechowuje datę
year - rok, jeśli zostanie podany zły rok, to wartość zostanie ustawiona na 0000
blob/text - pole przechowujące dłuższe teksty (blob - binarny ciąg znaków, text tekstowy ciąg znaków)
decimal(x, y) - liczba dziesiętna, gdzie x oznacza maksymalną liczbę cyfr, a y
maksymalną liczbę cyfr po przecinku.

Podobne dokumenty