MySQL2.pdf

(84 KB) Pobierz
Typy danych
Typy danych
MySQL posługuje się typami danych należącymi do trzech grup:
·
liczby
·
daty i czas
·
łańcuchy
Typy liczbowe całkowite :
Typ
Zakres
Liczba
bajtów
Opis
BIT
zmienna 1..64 bitów
BOOL, BOOLEAN
1
wartość 0 oznacza false
wartość różna od zera true
TINYINT
-127..127 liczby ze znakiem
0..255 liczby bez znaku
1
SMALLINT
-32768..32767 liczby ze znakiem
0..65535 liczby bez znaków
1
MEDIUMINT
-2 23 ..2 23 -1 liczby ze znakiem
0..2 24 -1 liczby bez znaków
2
INT, INTEGER
-2 31 ..2 31 -1 liczby ze znakiem
0..2 32 -1 liczby bez znaków
4
BIGINT
-2 63 ..2 63 -1 liczby ze znakiem
0..2 64 -1 liczby bez znaków
8
Dozwolone są także modyfikatory:
USIGNED dla wartości liczbowych bez znaku
ZEROFIL jeżeli liczba cyfr jest mniejsza od maksymalnej liczby znaków, brakujące znaki są
dopełniane zerami; jednocześnie liczba jest traktowana jako bez znaku
Przykład 1.
Utwórz tabelę, zawierającą kolumnę zawierającą liczby całkowite dodatnie, o maksymalnej liczbie
wyświetlanych znaków 10 i wartościach nieujemnych. Brakujące znaki dopełnij zerami
mysql> CREATE TABLE nazwisko (
-> kolumna BIGINT(10) ZEROFILL );
Query OK, 0 rows affected (0,00 sec)
149588146.005.png
Typy liczbowe zmiennoprzecinkowe
Typ
Zakres
Liczba
bajtów
Opis
FLOAT (precyzja)
zmienny
4 lub 8
precyzja =0..24
pojedyncza precyzja
precyzja =25..63
podwójna precyzja
FLOAT
-3.4028(...)E+38..3.4028(...)E+38
4
liczby pojedynczej
precyzji
DOUBLE, DOUBLE
PRECISION, REAL
-1.1976(...)E+308..1.7976(...)E+308
8
liczby podwójnej
precyzji
DECIMAL, DEC,
NUMERIC, FIXED
zmienny
zmienna
Liczbę miejsc po przecinku określa się:
typ(m1,m2)
gdzie: m1 – szerokość pola wyświetlania liczby, m2 – liczba miejsc po przecinku
Przykład 2.
Utwórz tabelę zawierającą kolumnę z wartościami całkowitymi i rzeczywistymi wyświetlanymi za
pomocą pięciu cyfr z dokładnością dwóch znaków po kropce.
mysql> CREATE TABLE warzywniak (
-> dostawca INTEGER,
-> cena DECIMAL(5,2) );
Query OK, 0 rows affected (0,02 sec)
Typ data i czas
Typ
Zakres
Liczba
bajtów
Opis
DATE
1000-01-01..9999-12-31
3
data w formacie
RR[RR]-MM-DD
DATETIME 1000-01-01 00:00:00 .. 9999-12-31 23:59:59
8
data i czas w
formacie [RR]RR-
MM-DD GG:MM:SS
TIMESTAMP
dodatkowe ustawienia
4
znacznik czasu
TIME
-838:59:59 .. 838:59:59
3
czas w formacie
GG[G]:MM:SS
YEAR
1901 .. 2155
1
rok w formacie
[RR]RR
znaki w nawiasach [ ] są opcjonalne
149588146.006.png 149588146.007.png 149588146.008.png 149588146.001.png 149588146.002.png
Przykład 3.
Utwórz tabelę ksiazka zawierającą kolumny:
·
autor ciąg maksymalnie trzydziestu znaków
·
tytul ciąg maksymalnie czterdziestu znaków
·
data data wydania książki
Typ łańcuchowy
CHAR(liczba_znaków) , VARCHAR(liczba_znaków) ciąg znaków o długości liczba_znaków
(maksymalnie: 255 – CHAR i 65535 - VARCHAR ); dla typu CHAR , krótsze ciągi znaków zostaną
uzupełnione spacjami
BLOB , TEXT przechowują odpowiednio ciągi binarne i tekstowe o maksymalnej długości 65535 bajtów
ENUM , SET typ wyliczeniowy i zbiorowy:
ENUM('wartość_1', 'wartość_2', ..., 'wartość_n') - w danym polu wiersza znajduje
się tylko jedna wartość; zdefiniować można maksymalnie 65535 wartości
SET('wartość_1', 'wartość_2', ..., 'wartość_n') w danym polu wiersza znajduje
się dowolny podzbiór dozwolonych wartości; zbiór zawiera maksymalnie 64 wartości
Przykład 4.
Utwórz tabelę zawierającą kolumny:
·
nazwisko ciąg maksymalnie dwudziestu znaków
·
kolor_oczu jedna z możliwych wartości dla koloru oczu
Przykład 5.
Utwórz tabelę student zawierającą kolumny:
·
nr_indeksu maksymalnie pięć cyfr; numer indeksu studenta
·
nazwisko ciąg maksymalnie trzydziestu znaków; nazwisko studenta
·
imie ciąg maksymalnie dwudziestu znaków; imię studenta
·
semestr numer aktualnego semestru
·
przedmioty typ zbiorowy; przedmioty wymagane w danym semestrze
Atrybuty kolumn
Kolumny w tabeli mogą posiadać dodatkowe atrybuty:
1) PRIMARY KEY kolumna oznaczona tym atrybutem jest kluczem podstawowym; kolumna taka
zawiera w każdym wierszu unikalne wartości i jest automatycznie indeksowana; dzięki temu
przeszukiwanie i sortowanie działa szybciej
tablica z jednym kluczem podstawowym:
CREATE TABLE nazwa (
kolumna INTEGER PRIMARY KEY,
...
)
tablica z wieloma kluczami podstawowymi:
CREATE TABLE nazwa (
kolumna_1 typ_kolumny_1 [atrybuty]
kolumna_2 typ_kolumny_2 [atrybuty]
...
kolumna_n typ_kolumny_n [atrybuty]
PRIMARY KEY (kolumna_p, kolumna_r, ...)
)
149588146.003.png
2) NOT NULL kolumna z takim atrybutem nie może zawierać wartości pustej (NULL)
3) AUTO_INCREMENT kolumna z wartościami całkowitymi, nieprzypisanie wartości lub wpisanie
wartości zero, spowoduje wstawienie wartości o jeden większej od maksymalnej
dotychczasowej wartości w kolumnie
4) INDEX kolumna indeksowana
5) UNIQUE kolumna zawiera niepowtarzalne wartości
6) DEFAULT wartosc domyślna wartość wstawiana do kolumny, w przypadku nie wpisania wartości
Przykład 6.
Utwórz tabelę pracownicy zawierającą kolumny numer , nazwisko , imie , PESEL . Ustaw kolumny
numer i PESEL jako klucze podstawowe. Żadna kolumna nie może zawierać wartości pustej. Kolumna
numer ma być automatycznie zwiększana.
Wyświetlanie struktury tabeli
Wyświetlenie struktury tabeli tabela z bazy baza :
SHOW COLUMNS FROM tabela FROM baza
lub
SHOW COLUMNS FROM baza.tabela
Wyświetlenie kolumn, których nazwa zaczyna się od naz
SHOW COLUMNS FROM baza.tabela LIKE 'naz%'
Wprowadzanie danych do tabeli
INSERT [INTO] tabela [(kolumna_1, ..., kolumna_n)] VALUES (wartość_1, ...,
wartość_n)
lub
INSERT [INTO] tabela SET kolumna_1=wartość_1, ..., kolumna_n=wartość_n)
lub wprowadzanie wielu wierszy
INSERT [INTO] tabela [(kolumna_1, ..., kolumna_n)]
VALUES
(wartość_1_1, ..., wartość_1_n),
(wartość_2_1, ..., wartość_2_n),
...
(wartość_m_1, ..., wartość_m_n),
Pobieranie danych z tabeli
Instrukcja SELECT pozwala pobrać dane z tabeli i wymienionych kolumn jeżeli spełniony jest warunek
SELECT kolumna_1, ..., kolumna_n FROM tabela [WHERE warunek] [ORDER BY
kolumna_1, ..., kolumna_n [ASC|DESC]]
lub dla wszystkich kolumn
SELECT * FROM tabela [WHERE warunek] [ORDER BY kolumna_1, ..., kolumna_n
[ASC|DESC]]
149588146.004.png
Zadanie 1.
Utwórz plik z poleceniami dla MySQL zawierający polecenia:
1. tworzące tabelę hurtownia zawierającą kolumny:
nr_inw numer inwentarzowy towaru, wartości całkowite automatycznie powiększane,
klucz podstawowy
data data dostawy, kolumna nie może zawierać wartości pustych
nr_dost numer identyfikacyjny dostawcy towaru, klucz podstawowy, kolumna nie
może zawierać wartości pustych
liczba ilość sztuk dostarczonego towaru
cena wartość dostarczonego towaru, liczba z dokładnością do dwóch cyfr po kropce
2. tworzące tabelę odbiorca i zamawiajacy (kolumny nr , nazwa , adres )
3. wyświetlające strukturę trzech tabel
4. wprowadzające wartości do każdej z tabel; minimum dziesięć wartości do każdej z tabel
5. pobierz dane z tabeli hurtownia zawarte w kolumnach data i dostawca
6. pobierz kolumny nazwa i adres z tabel odbiorca i zamawiajacy
Zgłoś jeśli naruszono regulamin