Mysql: Różnice pomiędzy wersjami

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania
 
(PHP4)
Linia 126: Linia 126:
 
Typ <tt>timestamp</tt> jest standardowym zniacznikiem czasu Uniksa, poprawnym dla lat 1970 - 2037.
 
Typ <tt>timestamp</tt> jest standardowym zniacznikiem czasu Uniksa, poprawnym dla lat 1970 - 2037.
  
 +
= Zapytania =
 +
== Operatory ==
 +
{| border=1 align=center
 +
| Operator
 +
| Nazwa
 +
| przykład
 +
| Opis
 +
|-
 +
| <tt>=</tt>
 +
| równy
 +
| userid = 3
 +
| Sprawdza czy wartości są sobie równe
 +
|-
 +
| >
 +
| wiekszy od
 +
| userid > 8
 +
| Sprawdza czy pierwsza wartość jest wiąksza od drugiej
 +
|-
 +
| <
 +
| mniejszy od
 +
| userid < 8
 +
| Sprawdza czy pierwsza wartość jest mniejsza od drugiej
 +
|-
 +
| >=
 +
| wiekszy lub równy
 +
| userid >= 8
 +
| Sprawdza czy pierwsza wartość jest wiąksza lub równa od drugiej
 +
|-
 +
| <=
 +
| mniejszy lub równy
 +
| userid <= 8
 +
| Sprawdza czy pierwsza wartość jest mniejsza lub równa od drugiej
 +
|-
 +
| <tt>!=</tt> lub <tt><></tt>
 +
| różny
 +
| userid != 1
 +
| Sprawdza czy dwie wartości są rżzne od siebie
 +
|-
 +
| IS NOT NULL
 +
| .
 +
| username IS NOT NULL
 +
| Sprawdza czy pole ma nadaną wartość
 +
|-
 +
| IS NULL
 +
| .
 +
| username IS NULL
 +
| Sprawdza czy pole jest puste
 +
|-
 +
| BETWEEN
 +
| .
 +
| user_posts BETWEEN 10 AND 100
 +
| Sprawdza czy wartość jest wiąksza lub równa wartości minimalne i mniejsza lub równa wartości maksymalnej
 +
|-
 +
| IN
 +
| .
 +
| userid IN(1,2,3,4,5)
 +
| Sprawdza czy wartość należy do określonego zbioru wartości
 +
|-
 +
| NOT IN
 +
| .
 +
| userid NOT IN (1,2,3,4)
 +
| Sprawdza czy wartość nie należy do określonego zbioru wartości
 +
|-
 +
| LIKE
 +
| wyszukiwanie wzorca
 +
| username LIKE 'asd %'
 +
| Sprawdza czy wartość pasuje do określonego wzorca
 +
|-
 +
| NOT LIKE
 +
| wyszukiwanie wzorca
 +
| username NOT LIKE 'dsa %'
 +
| Sprawdza czy wartość nie pasuje do określonego wzorca
 +
|-
 +
| REGEXP
 +
| wyrażenie regularne
 +
| username REGEXP '^a.*'
 +
| Sprawdza czy wartość pasuje do określonego wyrażenia regularnego
 +
|}
 
= PHP4 =
 
= PHP4 =
 
== Łączenie z bazą danych ==
 
== Łączenie z bazą danych ==

Wersja z dnia 13:04, 10 kwi 2007

Typy danych w MySQL

Liczby caśkowite

Typ Bajtów Zakres
tinyint 1 -128 do +127
smallint 2 -32768 do +32768
mediumint 3 -8388608 do +8388607
integer 4 -2147483648 do +2147483648
bigint 8 17-18 cyfr
decimal zmienne bez ogranicześ
numeric zmienne bez ogranicześ

Decimal i numeric

Pola te przechowują liczby jako łańcuchy co umożliwia przechowywanie liczb o dowolnej długości. Gdy używasz tych typów w bazie danych, możesz określić ich długość oraz precyzją na przykład decimal(14,7)

Liczby zmienno pozycyjne

Typ Bajtów Zakres
float 4 6 miejsc dziesiętnych
real 4 6 miejsc dziesiętnych
double precision 8 15 miejsc dziesiętnych

W MySQL double jest inną nazwę typu double precision

Ä?aścuchy

Typ Dś. pola w bajtach Dane w bajtach
char 0 1 - 255
varchar 1 1 - 255
tinytext 1 1 - 255
text 2 1 - 65536
mediumtext 3 1 - 16777216
longtext 4 1 - 4294967295
text 4 1 - 4294967295

Typy danych tinytext, mediumtext, longtext oraz varchar są polami o zmiennej długości i zawierają tylko dostarczone dane.

Enum

Typ enum służy do przechowywania liczby reprezentującej słowo kluczowe, zdefiniowanej podczas definicji pola tego typu. W typie enum można zdefiniować pole zawierające jakieś dane np. nazwiska, które będzie zajmowało tylko jeden bajt, a nie ilość liter nazwiska (danych), gdyż nazwiska sa przechowywane tylko w jednym miejscu - w definicji pola tabeli, a samo pole zawiera tylko indeks pozycji listy nazwisk (danych). Indeks dla list o rozmiarach do 255 pozycji zajmuje tylko 1 bajt ,a do 65000 poz. 2 bajty.

Set

Typ set umożliwia przechowywanie łańcuchów bitów, w których bity są ustawione dla każdej wartości słowa kluczowego, zawartej w danych wejściowych. Pole o nazwie features przechowuje listę atrybutów. W polu features każdy bit odpowiada jednej opcji, a ponieważ typ set może mieć maksymalną długość 8 bajtów zatem w jednym polu typu set można zmieścić do 64 różnych atrybutów. To pole nadaje się do formularzy w których można wybrać więcej niż jedna opcje.

Data i czas

Typ długość w bajtach Format
date 3 yyyy-mm-dd
datetime 8 yyyy-mm-dd hh:mm:ss
timestamp 4 yyyymmddhhmmss
time 3 hh:mm:ss
year 1 1901 - 2125

Typ timestamp jest standardowym zniacznikiem czasu Uniksa, poprawnym dla lat 1970 - 2037.

Zapytania

Operatory

Operator Nazwa przykład Opis
= równy userid = 3 Sprawdza czy wartości są sobie równe
> wiekszy od userid > 8 Sprawdza czy pierwsza wartość jest wiąksza od drugiej
< mniejszy od userid < 8 Sprawdza czy pierwsza wartość jest mniejsza od drugiej
>= wiekszy lub równy userid >= 8 Sprawdza czy pierwsza wartość jest wiąksza lub równa od drugiej
<= mniejszy lub równy userid <= 8 Sprawdza czy pierwsza wartość jest mniejsza lub równa od drugiej
!= lub <> różny userid != 1 Sprawdza czy dwie wartości są rżzne od siebie
IS NOT NULL . username IS NOT NULL Sprawdza czy pole ma nadaną wartość
IS NULL . username IS NULL Sprawdza czy pole jest puste
BETWEEN . user_posts BETWEEN 10 AND 100 Sprawdza czy wartość jest wiąksza lub równa wartości minimalne i mniejsza lub równa wartości maksymalnej
IN . userid IN(1,2,3,4,5) Sprawdza czy wartość należy do określonego zbioru wartości
NOT IN . userid NOT IN (1,2,3,4) Sprawdza czy wartość nie należy do określonego zbioru wartości
LIKE wyszukiwanie wzorca username LIKE 'asd %' Sprawdza czy wartość pasuje do określonego wzorca
NOT LIKE wyszukiwanie wzorca username NOT LIKE 'dsa %' Sprawdza czy wartość nie pasuje do określonego wzorca
REGEXP wyrażenie regularne username REGEXP '^a.*' Sprawdza czy wartość pasuje do określonego wyrażenia regularnego

PHP4

Łączenie z bazą danych

$dbhost = "loacalhost"; // host bazy danych
$dbuser = "root"; // Nazwa użytkownika podłączającego się do bazy danych.
$dbpass = "root"; // Hasło w/w użytkownika
$dbname = "users"; // Nazwa bazy z której chcemy pobrać dane