Zajęcia 2 - MI14

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Jednostka modułowa I 14.

Projektowanie i administrowanie baz danych

Zajęcia nr 2. Bazy danych mySql – Tworzenie i modyfikacja tabel. Typy danych

Praca w konsoli: (uruchom Shell w oknie panelu kontrolnego XAMPP)


L Zadanie Instrukcja SQL
p
1. Utwórz bazę danych o nazwie szkola CREATE DATABASE szkola DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci;
2. Utwórz tabelę uczniowie zawierającą CREATE TABLE uczniowie
kolumny: (idUcznia int AUTO_INCREMENT PRIMARY KEY,
- idUcznia - typu liczby całkowite, klucz imie varchar(30),
podstawowy nazwisko varchar(40));
- imie – typu tekst
- nazwisko- typu tekst
- klasa – typu int

3. Wyświetl strukturę tabeli uczniowie. DESCRIBE uczniowie;


Powtarzaj to polecenie po wykonaniu
kolejnych poleceń

4. Wyświetl składnię instrukcji ALTER TABLE https://mariadb.com/kb/en/alter-table/

Zadania:
1) Usuń tabelę wychowawcy
2) Utwórz tabelę nauczyciele (o takiej samej strukturze (idNauczyciela, imie, nazwisko)
3) Do tabeli klasy dodaj pole RokRozpoczecia typu całkowitego przed polem wychowawca
4) Do tabeli nauczyciele dodaj na końcu pole Tytul typu varchar(15)
5) Zmień definicję pola Tytul w tabeli nauczyciele tak aby wartością domyślną w tym polu był wpis „mgr”
6)
ZSLIT, Warszawa, ul. Wiśniowa 56 opracowanie: Marianna Rymarczyk
Jednostka modułowa I 14. Projektowanie i administrowanie baz danych

Typy danych w tabelach

SQL oferuje różne typy przechowywanych danych, w tabeli poniżej zamieszczam te


najbardziej popularne:

TYP Opis

VARCHAR(200)
Typ tekstowy, w nawiasach podajmy liczbę znaków jakie maksymalnie
będzie można zapisać w danej kolumnie (do 8 000)
INT Liczba całkowita (od -231 do 231-1)

FLOAT(2)
Liczby rzeczywiste z określoną w nawiasach dokładnością (1-24 – 7
cyfr, 25-53 – 15 cyfr)

DATETIME
Data i czas (Format: YYYY-MM-DD HH:mm:SS, Y – Rok, M – Miesiąc, D –
Dzień, H – Godzina, m – Minuta, S – sekunda)
CHAR Łańcuch znaków o długości do 8000 znaków
TEXT Typ tekstowy (maksymalna liczba znaków: 231 – 2 147 483 647)
Typ danych służący do przechowywania wartości pieniężnych
MONEY (dokładność do jednej dziesięciotysięcznej jednostki, przechowuje
liczby z zakresu: od -263 do 263-1

Typy danych w MySQL


Numeryczne typy danych w MySQL
Nazwa Opis

TINYINT 1-bajtowe pole, przechowujące wartości


całkowite bez znaku z przedziału od 0 do 255
lub ze znakiem z przedziału od -127 do 127

BOOL 1-bajtowe pole logiczne, zakres True (true != 0)


oraz False (false == 0)

BOOLEAN

SMALLINT 2-bajtowa wartość całkowita. Zakres wartości


bez znaku od 0 do 65 535 lub ze znakiem od -
32 768 do 32 768

MEDIUMINT 3-bajtowa wartość całkowita. Zakres wartości


od 0 do 16 777 215 lub ze znakiem od -8 388

ZSLIT, Warszawa, ul. Wiśniowa 56 opracowanie: Marianna Rymarczyk


Jednostka modułowa I 14. Projektowanie i administrowanie baz danych

608 do 8 388 608

INT 4-bajtowa wartość całkowita. Zakres wartości


ze znakiem od -2 147 483 648 do 2 147 483 647
lub bez znaku od 0 do 4 294 967 295
INTEGER

BIGINT 8-bajtowa wartość całkowita. Typ BIGINT jest


używany podczas przeprowadzania obliczeń.
Stosując pola tego typu we własnej bazie
danych należy uważać, aby ich wartości nie
były zbyt duże, ponieważ użyte w obliczeniach
mogą doprowadzić do błędu przepełnienia

FLOAT(M,D) 4-bajtowa liczba zmiennoprzecinkowa z


zakresu od -1.402823466E+38 do -
1.175494351E-38, 0 i 1.175494351E-38 do
3.402823466E+38

DOUBLE PRECISION(M,D) 8-bajtowa liczba zmiennoprzecinkowa


przechowująca wartości z zakresu od -
1.7976931348623157E+308 do -
2.2250738585072014E-308, 0, i
2.2250738585072014E-308 do
1.7976931348623157E+308

DECIMAL(M,D) Pole zmiennoprzecinkowe o takiej samej


pojemności jak DOUBLE. Liczba, zamiast zostać
zredukowana do postaci szesnastkowej,
DEC pamiętana jest w formacie znakowym

NUMERIC Typ danych podobny do decimal ale bardziej


precyzyjny.  Jeżeli podamy 4
miejsca decymalne, pole musi przechować 4
miejsca decymalne

Typy daty i czasu w MySQL


Nazwa Opis

DATE Data (bez czasu), wyświetlana w formacie


RRRR-MM-DD. Akceptuje daty w różnych
formatach z zakresu od 1000-01-01 do 9999-

ZSLIT, Warszawa, ul. Wiśniowa 56 opracowanie: Marianna Rymarczyk


Jednostka modułowa I 14. Projektowanie i administrowanie baz danych

12-31

DATETIME Pole daty z czasem dnia wyświetlane według


formatu RRRR-MM-DD GG:MM:SS. Może
przechowywać wartości z zakresu od 1000-01-
01 00:00:00 do 9999-12-31 23:59:59

TIMESTAMP Data i czas liczony od początku epoki systemu


UNIX, 1970-01-01 00:00:00, do momentu kiedy
32-bitowe pole przechowujące liczbę sekund,
jaka upłynęła od tej daty ulegnie przepełnieniu
w roku 2037. Jeśli polu temu nie została
nadana wartość przez wyrażenie INSERT lub
UPDATE, domyślnie otrzyma ono wartość daty
bieżącej

TIME Czas mieszczący się w przedziale od -838:59:59


do 838:59:59

YEAR Rok. Dozwolone wartości to przedział od 1901


do 2155 oraz wartość 0000. MySQL wyświetla
wartość typu YEAR w formacie RRRR

Tekstowe / znakowe typy danych w MySQL


Nazwa Opis

CHAR[(M)] Pole znakowe o stałej długości z zakresu od 1


do 255 bajtów. Po wstawieniu wartości puste
miejsca pola CHAR są uzupełniane z prawej
strony spacjami

VARCHAR(M) Pole znakowe o zmiennej długości z zakresu od


1 do 255 bajtów. Zajmowany jest jedynie taki
obszar pamięci, jakiego wymaga wartość
wstawiona w to pole

BINARY(M) Typ odpowiadający CHAR ale przechowujący


wartości binarne

VARBINARY(M) Typ odpowiadający VARCHAR ale

ZSLIT, Warszawa, ul. Wiśniowa 56 opracowanie: Marianna Rymarczyk


Jednostka modułowa I 14. Projektowanie i administrowanie baz danych

przechowujący wartości binarne.

TINYBLOB Kolumna binarna lub tekstowa o rozmiarze nie


przekraczającym 255 bajtów

TINYTEXT

BLOB Kolumna binarna lub tekstowa o rozmiarze nie


przekraczającym 65 535 bajtów

TEXT

MEDIUMBLOB Kolumna binarna lub tekstowa o rozmiarze nie


przekraczającym 16 777 215 bajtów

MEDIUMTEXT

LONGBLOB Kolumna binarna lub tekstowa o rozmiarze nie


przekraczającym 4 294 967 295 bajtów

LONGTEXT

ENUM(‚value1’, ‚value2’, …) Kolumna łańcuchowa, która może zawierać


jedną z wartości wymienionych na liście
wartości w definicji tej kolumny

SET(‘elem1’, ‘elem2’, …) Kolumna łańcuchowa, która może zawierać


dowolną liczbę wartości spośród  wartości
występujących na liście w definicji tej kolumny

ZSLIT, Warszawa, ul. Wiśniowa 56 opracowanie: Marianna Rymarczyk

You might also like