Login lub e-mail Hasło   

Podstawy tworzenia zapytań SQL (mySQL)

SQL jest językiem wysokiego poziomu do zarządzania bazami danych. Jest łatwy do nauki, ale stanowi również potężne narzędzie dla profesjonalistów.
Wyświetlenia: 86.214 Zamieszczono 31/10/2006


Wstęp:


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.

Źródło:
www.rudnicki.info

Podobne artykuły


49
komentarze: 18 | wyświetlenia: 64801
37
komentarze: 9 | wyświetlenia: 28362
50
komentarze: 27 | wyświetlenia: 63294
40
komentarze: 19 | wyświetlenia: 32919
6
komentarze: 0 | wyświetlenia: 13343
32
komentarze: 12 | wyświetlenia: 26550
5
komentarze: 1 | wyświetlenia: 13191
9
komentarze: 2 | wyświetlenia: 6084
8
komentarze: 2 | wyświetlenia: 27369
19
komentarze: 10 | wyświetlenia: 21252
18
komentarze: 11 | wyświetlenia: 9226
21
komentarze: 9 | wyświetlenia: 12427
17
komentarze: 10 | wyświetlenia: 10542
 
Autor
Artykuł



Niby podstawy, ale kiedyś może się przydać, jak trzeba będzie zerknąć....



Dodaj swoją opinię
W trosce o jakość komentarzy wymagamy od użytkowników, aby zalogowali się przed dodaniem komentarza. Jeżeli nie posiadasz jeszcze swojego konta, zarejestruj się. To tylko chwila, a uzyskasz dostęp do dodatkowych możliwości!
 

© 2005-2018 grupa EIOBA. Wrocław, Polska