BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 18 | UU: 408
[MySQL] Podstawowe zapytania do bazy MySql
5 kwiecień 2007

Do przedstawienia podstawowych zapytań bazy mysql konieczne będzie stworzenie testowej tabeli.

Przykład:

Kod: mysql

CREATE TABLE `tabela` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`produkt` VARCHAR( 255 ) NOT NULL ,
`cena` DECIMAL( 6, 2 ) NOT NULL
) ENGINE = MYISAM ;
 

Tworzymy tabelę o nazwie "tabela", a w niej dodajemy następujące pola:
1. Nazwa pola "id", typ pola INT (11) (pole liczbowe o długości do 11 znaków), NOT NULL (nie puste), AUTO INCREMENT (automatycznie zwiekszaj wartość pola "id" o 1 podczas wprowadzania kolejnych danych), PRIMARY KEY (pole oznaczone jako podstawowe).
2. Nazwa pola "produkt", typ pola VARCHAR (255) (pole tekstowe o długości do 255 znaków)
3. Nazwa pola "cena", typ pola DECIMAL (6,2) (pole liczbowe, dziesiętne o długości do 6 znaków i dokładności dwóch miejsc po przecinku)

Gdy już mamy stworzoną strukturę naszej tabeli pora na dodanie do niej jakiś przykładowych wartości.

Kod: mysql

INSERT INTO `tabela` ( `id` , `produkt` , `cena` ) VALUES
(NULL , ‘chleb’, ‘2.40′),
(NULL , ‘mąka’, ‘3.55′),
(NULL , ‘jajka’, ‘5.87′);

Poleceniem INSERT INTO uzupełniamy kolumny "id", "produkt""cena" należące do naszej tabeli o nazwie "tabela" kolejno wartościami (VALUES"NULL", "chleb", "2,40" itd. Oznacza to, że kolejno do kolumny "id", "produkt", "cena" dodajemy wartość. Zastanawiasz się dlaczego do kolumny "id" wstawiamy wartość NULL. Oznacza to, że nie podajemy dla tej kolumny żadnej wartości, gdyż zgodnie z typem jej pola będzie ona przbierać kolejne wartości liczbowe począwszy od 1 (AUTO INCREMENT).

Teraz przećwiczymy wybieranie ze stworzonej tabeli interesujących danych. Do tego celu służy polecenie SELECT.

Kod: mysql

SELECT * FROM tabela

To najprostsze polecenie, które można tłumaczyć tak: wybierz (SELECT) wszystko (*) z tabeli o nazwie "tabela".
Wynik takiego zapytania powinien wyglądać następująco: 

id

produkt 

cena 

1

chleb 

2.40 

2

mąka

3.55

3

jajka

5.87

Teraz coś bardziej skomplikowanego.

Kod: mysql

SELECT produkt FROM tabela LIMIT 2

Wynik takiego zapytania powinien pokazać kolumnę "produkty". Dodatkowo dodaliśmy ograniczenie do tylko dwóch początkowych wartości (LIMIT 2). Oto wynik: 

produkt 

chleb 

mąka

Często instnieje potrzena posortowania wyselekcjonowanych danych.

Kod: mysql

SELECT produkt FROM tabela ORDER BY produkt ASC

Wynik takiego zapytania powinien pokazać kolumnę "produkty". Dodatkowo ustawiliśmy w zapytaniu, że chcemy aby wyniki sortowane były wg kolumny "produkty" w kolejności rosnącej - ASC. Oto wynik: 

produkt 

chleb

jajka

mąka

Aby posortować wyniki w kolejności malejącej zastosuj takie polecenie.

Kod: mysql

SELECT produkt FROM tabela ORDER BY produkt DESC

Wynik takiego zapytania powinien pokazać kolumnę "produkty" posrtowaną wg kolejności malejącej - DESC. Oto wynik: 

produkt 

mąka

jajka

chleb

Teraz wykonamy zapytanie dodając warunek.

Kod: mysql

SELECT produkt, cena FROM tabela WHERE cena>2 AND cena<5

Wskazujemy zapytaniem, że chcemy uzyskać wartości z kolumny produkt i cena, ale tylko te wiersze, w których cena jest większa od 2 i jednocześnie mniejsza od 5. Oto wynik: 

produkt 

cena 

chleb 

2.40 

mąka

3.55

Czasem potrzebne jest wyselekcjonowanie tylko największej lub najmniejszej wartości z danej kolumny.

Kod: mysql

SELECT MIN(cena) AS minimalna_cena FROM tabela

Wybieramy najmniejszą wartość z kolumny cena. Dodatkowo poleceniem AS nadajemy naszej kolumnie nową nazwę. Gdyby pominąć zmianę nazwy poleceniem AS, wyselekconowana kolumna nazywałaby się tak jak w zapytaniu - MIN(cena). Oto wynik: 

minimalna_cena 

2.40

Teraz zajmiemy się innym rodzajem zapytania. UPDATE służy do aktualizowania wartości pól w kolumnach wskazanych odpowiednim zapytaniem.

Kod: mysql

UPDATE tabela SET produkt=‘owoce’ WHERE produkt=‘jajka’

Tym zapytaniem aktualizujemy pole "jajka" należące do kolumny "produkt" zastępując je nową wartością - "owoce". Wynik:

id

produkt 

cena 

1

chleb 

2.40 

2

mąka

3.55

3

owoce

5.87

Inny przykład.

Kod: mysql

UPDATE tabela SET produkt=‘ziemniaki’ WHERE id>1

Zapytanie aktualizuje pola z kolumny "produkty" nadając im wartość "ziemniaki", ale tylko w tych wierszach których pole "id" jest większe od 1, czyli: 

id

produkt 

cena 

1

chleb 

2.40 

2

ziemniaki

3.55

3

ziemniaki

5.87

I jeszcze jeden sposób zastosowania klauzuli UPDATE. Chcemy przykładowo zwiększyć ceny wszystkich produktów o wybraną wartość.

Kod: mysql

UPDATE tabela SET cena=cena+1

Aktualizujemy dotychczasowe wartości z kolumny cena poprzez dodanie do nich wartości równiej 1. Oto wynik: 

id

produkt 

cena 

1

chleb 

3.40 

2

ziemniaki

4.55

3

ziemniaki

6.87

Kasowanie wybranych wierszy odbywa się za pomocą polecenia DELETE. Przykładowo, aby usunąć drugi wiersz należy zastosować takie zapytanie:

Kod: mysql

DELETE FROM tabela WHERE id=2

Oto wynik: 

id

produkt 

cena 

1

chleb 

3.40 

3

ziemniaki

6.87

Jeżeli chcesz wyszyścić zawartość tabeli użyj takiego zapytania:

Kod: mysql

TRUNCATE TABLE tabela

Jeżeli chcesz skasować całą tabelę łącznie z jej zawartością użyj:

Kod: mysql

DROP TABLE tabela

Inne zapytania:
Wypisanie zapytania tworzącego tabelę.

Kod: mysql

SHOW CREATE TABLE tabela

Wypisanie pól i opcji kolumn tabeli.

Kod: mysql

DESCRIBE tabela

Wypisanie rozszerzonych danych.

Kod: mysql

SHOW FULL COLUMNS FROM tabela

Wypisanie wszystkich tabel w bazie.

Kod: mysql

SHOW TABLES

Utworzenie bazy danych.

Kod: mysql

CREATE DATABASE nazwa_bazy_danych

Usunięcie bazy danych.

Kod: mysql

DROP DATABASE nazwa_bazy_danych

Wybranie wskazanej bazy danych do dalszej pracy na jej tabelach.

Kod: mysql

USE nazwa_bazy_danych

Wypisanie wszystkich baz.

Kod: mysql

SHOW DATABASES

Przedstawione przykłady to podstawy wykorzystania bazy MySQL. Isnieje bardzo wiele funkcji ułatwiających zarządzanie danymi we wszystkich rodzajach zapytań przedstawionych w tym artykule. Uzyskanie odpowiedniego rezultatu wymaga często zastosowania kombinacji różnego rodzaju zapytań i to wykorzystując wiele tabel. Ale te zagadnienia poruszę w innej poradzie.

Autor: Adam Suchowski

Dodaj komentarz









Komentarze
14 odpowiedzi
26 kwiecień 2012, godz. 1:46

Can you translate it to other languages please?

DZIKI KACZOR
27 marzec 2012, godz. 10:28

OMG OMG SO SUPER EFFECTIVE

pawel
14 styczeń 2011, godz. 8:43

dzięki.

g0nz0
10 czerwiec 2010, godz. 8:31

dobre bardzo dobre tylko czemu nie opisano podstawowych komend php do obsługi baz danych wiem ze to są zapytania mysql a nie zapytania mysql w php. ale

13 styczeń 2010, godz. 10:09

No kurs dobry przejrzysty będę polecał

izuniek
3 sierpień 2009, godz. 4:53

bardzo cudowny kurs - bardzo dobry, naprawde bardzo mi sie przydał - Dziekuje

aaa
13 lipiec 2008, godz. 6:04

“posrtowaną”- a nie “posortowaną”?
Fajne.

paladyn
24 kwiecień 2008, godz. 12:17

Błąd

zapytanie SQL:

INSERT INTO `tabela` ( `id` , `produkt` , `cena` )
VALUES (
NULL , ‘chleb’, ‘2 .40′
), (
NULL , ‘mąka’, ‘3 .55′
), (
NULL , ‘jajka’, ‘5 .87′
)

MySQL zwrócił komunikat: Dokumentacja
#1054 - Unknown column ‘‘chleb’’ in ‘field list’

Cezar2
5 luty 2008, godz. 2:49

Jak wchodze na torrenty i chce przypuśćmy zalogować się to czemu wyskakuje mi
niepoprawny Nick lub hasło

admin
22 styczeń 2008, godz. 7:54

No to masz choćby w pierwszej poradzie :)

21 styczeń 2008, godz. 11:06

Przystępny, ale jak mają być podstawy to powinno być dopsiane jak wykonąć zapytanie mysql_query() , mi pomógł ale jakbym nie wiedzial o tym jak wykonac zapytanie to bym nie ruszyl :P

koloczino
7 listopad 2007, godz. 1:49

Świetnie się to czyta

zeroekran
21 czerwiec 2007, godz. 8:47

Bardzo przystępnie podane podstawy

zeus
5 kwiecień 2007, godz. 2:41

Fajnie, ładnie, skutecznie to wytłumaczyłeś. Więcej takich porad.

 
 
Copyright © 2006-2011 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker