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

Spis treści

Logowanie do serwera....................................................................................................................................................1
Tworzenie baz danych i tabel 9.09.2021.........................................................................................................................3
1. Tworzenie bazy danych...........................................................................................................................................3
2. Wybieranie bazy do pracy.......................................................................................................................................3
3. Tworzenie tabel.......................................................................................................................................................3
4. Wyświetlanie tabeli w bazie danych........................................................................................................................3
5. Wyświetlanie struktury tabeli..................................................................................................................................4
6. Usuwanie tabel........................................................................................................................................................4
Wprowadzanie danych do tabel......................................................................................................................................4
1. Wprowadzanie danych............................................................................................................................................4
2. Wyświetlanie danych...............................................................................................................................................4
Tworzenie baz danych, tabel, wprowadzanie danych, usuwanie baz danych.................................................................5
Usuwanie i modyfikowanie danych.................................................................................................................................7
1. Usuwanie danych....................................................................................................................................................7
2. Modyfikacja danych.................................................................................................................................................7
Tworzenie baz danych, tabel, edycja danych..................................................................................................................7
Klucz podstawowy.......................................................................................................................................................7
Wprowadzanie danych................................................................................................................................................7
Tworzenie tabeli..........................................................................................................................................................7
Utrwalenie wiadomości i umiejętności dotyczących tworzenia baz danych, tabel i edycji danych.................................8
Definiowanie kluczy obcych............................................................................................................................................9
Ćwiczenia utrwalające tworzenie relacji.......................................................................................................................10
Ćwiczenia dotyczące edycji danych zawartych w tabelach połączonych relacjami.......................................................10
Usuwanie rekordów z tabeli nadrzędniej wymaga usunięcia wszystkich rekordów z tabeli powiązanej relacją.......11
Edycja danych w tabelach połączonych relacjami.........................................................................................................15
Edycja danych w tabelach połączonych relacjami – ćwiczenia......................................................................................17

Logowanie do serwera

Microsoft Windows [Wersja 6.1.7601]


Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

C:\Users\u112.comp10>cd\

C:\>cd\
C:\>cd xampp\mysql\bin

C:\xampp\mysql\bin>mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.38-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databaes;


ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near 'dat
abaes' at line 1
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| bmi |
|e |
| eeeee |
| egzamin |
| egzamin2 |
| egzamin3 |
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| pogoda |
| przyklad |
| test |
+--------------------+
13 rows in set (0.03 sec)

MariaDB [(none)]> show databases


-> show databases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near 'sho
w databases' at line 2
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| bmi |
|e |
| eeeee |
| egzamin |
| egzamin2 |
| egzamin3 |
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| pogoda |
| przyklad |
| test |
+--------------------+
13 rows in set (0.00 sec)

Tworzenie baz danych i tabel 9.09.2021

1. Tworzenie bazy danych.


Składnia:
>create database [nazwa];
Query OK., 1 row affected <0.02 sec>

2. Wybieranie bazy do pracy.


Składnia:
>use [nazwa bazy];
Database changed
(MariaDB [używana baza])

3. Tworzenie tabel.
Składnia:

>create table [nazwa]


->(id_n int primary key,
->nazwisko varchar(25) not null,
->imie varchar(15) not null,

->data_zatr date not null);


Query OK, 0 rows affected (0.19 sec)

Zad. 1

Stwórz bazę danych szkola_6

Stwórz tabelę przedmioty zgodnie z przedstawionym schematem.

MariaDB [szkola_6]> create table przedmioty

-> (id_n int primary key,

-> nazwa varchar (30) not null);

Query OK, 0 rows affected (0.19 sec)

4. Wyświetlanie tabeli w bazie danych.


>show tables;
Tables_in_szkola_6

MariaDB [szkola_6]> show tables;

+--------------------+

| Tables_in_szkola_6 |

+--------------------+

| przedmioty |

+--------------------+

1 row in set (0.00 sec)

5. Wyświetlanie struktury tabeli.


MariaDB [szkola_6]> describe [nazwa tabeli];

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id_n | int(11) | NO | PRI | NULL | |

| nazwa | varchar(30) | NO | | NULL | |

+-------+-------------+------+-----+---------+-------+

6. Usuwanie tabel.
Składnia

Drop table [nazwa tabeli];

Przykład

MariaDB [pogoda]> drop table [firma_10];

Wprowadzanie danych do tabel


1. Wprowadzanie danych
Składnia

INSERT INTO nazwa_tabeli VALUEs (wartość);

Przykład

MariaDB [pogoda]> insert into pracownik values

-> (1,'Kowalski','Jan','2000-10-05','Tychy','43-100');
2. Wyświetlanie danych
Składnia

Select * from [tabela]

Przykład

MariaDB [pogoda]> select * from pracownik

-> ;

+------+------------+----------+------------+-------------+--------+

| id_n | imie | nazwisko | data_zatr | miejscowosc | kod |

+------+------------+----------+------------+-------------+--------+

| 1 | Kowalski | Jan | 2000-10-05 | Tychy | 43-100 |

| 2 | Zakrzewski | Adam | 2000-11-15 | Tychy | 43-100 |

| 3 | Liowiecki | Paweł | 2000-06-20 | Tychy | 43-100 |

+------+------------+----------+------------+-------------+--------+

Tworzenie baz danych, tabel, wprowadzanie danych, usuwanie baz danych.

1.Usuwanie baz danych

Składnia
Drop database [nazwa bazy]

Przykład
Drop database szkola

1. Stwórz bazę danych skoła zawierającą następujące tabele


Wprowadź dane do tabel.
MariaDB [szkola_1]> select * from nauczyciel\
-> ;
+----+----------+---------+
| id | nazwisko | imie |
+----+----------+---------+
| 1 | Kowalski | Jan |
| 2 | Nowak | Andrzej |
+----+----------+---------+
2 rows in set (0.00 sec)

MariaDB [szkola_1]> select * from t_laczaca


-> ;
+--------------+---------------+
| id_przedmiot | id_nauczyciel |
+--------------+---------------+
| 2| 1|
| 1| 2|
| 3| 2|
| 1| 1|
+--------------+---------------+
4 rows in set (0.00 sec)

MariaDB [szkola_1]> select * from przedmiot


-> ;
+------+------------+
| id_n | nazwa |
+------+------------+
| 1 | j.polski |
| 2 | matematyka |
| 3 | WOS |
+------+------------+
3 rows in set (0.00 sec)

MariaDB [szkola_1]> describe przedmiot


-> ;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id_n | int(11) | NO | PRI | NULL | |
| nazwa | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.03 sec)

MariaDB [szkola_1]> describe nauczyciel;


+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| nazwisko | varchar(15) | NO | | NULL | |
| imie | varchar(10) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

MariaDB [szkola_1]> describe t_laczaca;


+---------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| id_przedmiot | int(11) | YES | | NULL | |
| id_nauczyciel | int(11) | YES | | NULL | |
+---------------+---------+------+-----+---------+-------+
Usuwanie i modyfikowanie danych.

1. Usuwanie danych
Składnia
Delete from [tabela] where [warunek]

Przykład
delete from zawodnik where id_z=2
delete from zawodnik (usuwa całą zawartość)

2. Modyfikacja danych
Składnia
update [tabela]
set [kolumna]=[wartość]|
where [warunek]

Przykład 1
Wszyscy zawodnicy to Kowalscy
update zawodnik
set nazwisko='Kowalski'

Przykład 2
update zawodnik
set nazwisko='Nowak'
where id_z=3

Tworzenie baz danych, tabel, edycja danych.

Klucz podstawowy
Id int unsigned auto_increment primary key

Unsigned – modyfikator typu, przesuwający cały zakres danego typu na wartości dodatnie.

Auto_increment – zapewnia automatyczną numerację pola zwiększając numer kolejnego rekordu o 1.

Wprowadzanie danych
Przykład 1
insert into pracownik values (null,’Jan’,’Kowalski’,’2001-02-05’)

Przykład 2
insert into pracownik (imie, nazwisko, data_zatr) values (‘Jan’,’Kowalski’,’2001-02-05’)

Tworzenie tabeli
MariaDB [ksiegarnia]> update klient

-> set nazwisko='Pawlak', miejscowosc='Tychy', kod='43-100', ulica='Bielska

100'
-> where id=3;

Query OK, 1 row affected (0.03 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [ksiegarnia]> select * from klient;

+----+----------+-----------+-------------+--------+--------------+

| id | nazwisko | imie | miejscowosc | kod | ulica |

+----+----------+-----------+-------------+--------+--------------+

| 1 | Kowalska | Julia | Warszawa | 33-555 | Wierzbowa 25 |

| 2 | Pawlak | Adam | Tychy | 43-100 | Bielska 100 |

| 3 | Pawlak | Michalina | Tychy | 43-100 | Bielska 100 |

+----+----------+-----------+-------------+--------+--------------+

3 rows in set (0.00 sec)

MariaDB [ksiegarnia]> delete from klient where id=1;

Query OK, 1 row affected (0.09 sec)

MariaDB [ksiegarnia]> select * from klient;

+----+----------+-----------+-------------+--------+-------------+

| id | nazwisko | imie | miejscowosc | kod | ulica |

+----+----------+-----------+-------------+--------+-------------+

| 2 | Pawlak | Adam | Tychy | 43-100 | Bielska 100 |

| 3 | Pawlak | Michalina | Tychy | 43-100 | Bielska 100 |

+----+----------+-----------+-------------+--------+-------------+

Utrwalenie wiadomości i umiejętności dotyczących tworzenia baz danych, tabel i


edycji danych.

Zad. 1

MariaDB [kino]> create table gatunki


-> (id int unsigned auto_increment primary key,

-> nazwa varchar(10) not null);

MariaDB [kino]> insert into gatunki values

-> (null,'animacja',

-> null,'dramat',

-> null,'horror',

-> null,'komedia');

MariaDB [kino]> delete from gatunki where id=2;

Query OK, 1 row affected (0.06 sec)

MariaDB [kino]> select * from gatunki;

+----+---------+

| id | nazwa |

+----+---------+

| 1 | Sci-Fi |

| 3 | dramat |

| 4 | horror |

| 5 | komedia |

MariaDB [kino]> update gatunki

-> set nazwa='animacja'

-> where id=1;

Definiowanie kluczy obcych.


MariaDB [kino]> create table filmy

-> (id int unsigned auto_increment primary key,

-> gatunki_id int unsigned not null,

-> rezyserzy_id int unsigned not null,

-> tytul varchar(50) not null,

-> constraint pol1


-> foreign key (gatunki_id)

-> references gatunki(id),

-> constraint pol2

-> foreign key (rezyserzy_id)

Ćwiczenia utrwalające tworzenie relacji


MariaDB [kino]> create table zawodnik

-> (id int unsigned auto_increment primary key,

-> nr varchar(5) not null,

-> nazwisko varchar(20) not null,

-> imie varchar(20) not null,

->pozycja_id int unsigned not null,

-> constraint pol1

-> foreign key (pozycja_id)

->references pozycja(id));

Ćwiczenia dotyczące edycji danych zawartych w tabelach połączonych relacjami.


Sposób 1
Klucz podstawow składający się z jednego pola.

MariaDB [szkola]> create table laczaca

-> (id int unsigned auto_increment primary key,

-> nauczyciel_id int unsigned not null,

-> przedmiot_id int unsigned not null,

-> constraint pol1

-> foreign key (nauczyciel_id)

-> references nauczyciel(id),

-> constraint pol2

-> foreign key (przedmiot_id)

-> references przedmiot(id));

+---------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| nauczyciel_id | int(10) unsigned | NO | MUL | NULL | |

| przedmiot_id | int(10) unsigned | NO | MUL | NULL | |

+---------------+------------------+------+-----+---------+----------------+

Usuwanie rekordów z tabeli nadrzędniej wymaga usunięcia wszystkich rekordów z


tabeli powiązanej relacją.
Najpierw usuwany rekordy z tabeli podrzędnej, a następnie z nadrzędnej.

MariaDB [szkola]> delete from nauczyciel

-> where id=2;

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constrai

nt fails (`szkola`.`laczaca`, CONSTRAINT `pol1` FOREIGN KEY (`nauczyciel_id`) REFERENCES ‘nauczyciel (‘id’))

MariaDB [szkola]> delete from laczaca where id=2;

Query OK, 1 row affected (0.03 sec)

MariaDB [szkola]> delete from laczaca where id=3;

Query OK, 1 row affected (0.03 sec)

MariaDB [szkola]> delete from nauczyciel

-> where id=2;

Query OK, 1 row affected (0.06 sec)

MariaDB [szkola]> select * from nauczyciel;

+----+----------+------+

| id | nazwisko | imie |

+----+----------+------+

| 1 | Kowalski | Jan |

+----+----------+------+

1 row in set (0.00 sec)

MariaDB [druzyna]> create table zawodnik

-> (id_z int unsigned auto_increment primary key,

-> nr varchar(3) not null,

-> nazwisko varchar(15) not null,

-> id int unsigned not null);


Query OK, 0 rows affected (0.14 sec)

MariaDB [druzyna]> insert into pozycja values

-> (null,'pomocnik'),

-> (null,'obrońca'),

-> ;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your M

ariaDB server version for the right syntax to use near '' at line 3

MariaDB [druzyna]> insert into pozycja values

-> (null,'pomocnik'),

-> (null,'obrońca');

Query OK, 2 rows affected, 1 warning (0.04 sec)

Records: 2 Duplicates: 0 Warnings: 1

MariaDB [druzyna]> insert into zawodnik values

-> (null,'6','Kowalski','1'),

-> (null,'3','Nowak','1'),

-> (null,'5','Wiśniewski','2');

Query OK, 3 rows affected, 1 warning (0.04 sec)

Records: 3 Duplicates: 0 Warnings: 1

MariaDB [druzyna]> update zawodnik

-> where id=2

-> set nazwisko='Nowakowski';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your M

ariaDB server version for the right syntax to use near 'where id=2

set nazwisko='Nowakowski'' at line 2

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Nowakowski';

Query OK, 3 rows affected (0.05 sec)


Rows matched: 3 Changed: 3 Warnings: 0

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Kowalski where id='1';

'> '

-> ;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your M

ariaDB server version for the right syntax to use near '1';

'' at line 2

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Kowalski' where id='1';

Query OK, 2 rows affected (0.03 sec)

Rows matched: 2 Changed: 2 Warnings: 0

MariaDB [druzyna]> select * from zawodnik;

+------+----+------------+----+

| id_z | nr | nazwisko | id |

+------+----+------------+----+

| 1 | 6 | Kowalski | 1 |

| 2 | 3 | Kowalski | 1 |

| 3 | 5 | Nowakowski | 2 |

+------+----+------------+----+

3 rows in set (0.00 sec)

MariaDB [druzyna]> set nazwisko='Nowakowski' where id=2;

ERROR 1193 (HY000): Unknown system variable 'nazwisko'

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Nowakowski' where id=2;

Query OK, 0 rows affected (0.04 sec)

Rows matched: 1 Changed: 0 Warnings: 0


MariaDB [druzyna]> select * from zawodnik;

+------+----+------------+----+

| id_z | nr | nazwisko | id |

+------+----+------------+----+

| 1 | 6 | Kowalski | 1 |

| 2 | 3 | Kowalski | 1 |

| 3 | 5 | Nowakowski | 2 |

+------+----+------------+----+

3 rows in set (0.00 sec)

MariaDB [druzyna]> update zawodnik

-> set nazisko

-> ='Nowakowski' where id_z=2;

ERROR 1054 (42S22): Unknown column 'nazisko' in 'field list'

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Nowakowski' where id_z=2;

Query OK, 1 row affected (0.03 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [druzyna]> select * from zawodnik;

+------+----+------------+----+

| id_z | nr | nazwisko | id |

+------+----+------------+----+

| 1 | 6 | Kowalski | 1 |

| 2 | 3 | Nowakowski | 1 |

| 3 | 5 | Nowakowski | 2 |

+------+----+------------+----+

3 rows in set (0.00 sec)

MariaDB [druzyna]> update zawodnik

-> set nazwisko='Wiśniewski' where id_z=3;

Query OK, 1 row affected, 1 warning (0.05 sec)


Rows matched: 1 Changed: 1 Warnings: 1

MariaDB [druzyna]> select * from zawodnik;

+------+----+------------+----+

| id_z | nr | nazwisko | id |

+------+----+------------+----+

| 1 | 6 | Kowalski | 1 |

| 2 | 3 | Nowakowski | 1 |

| 3 | 5 | Wi?niewski | 2 |

+------+----+------------+----+

3 rows in set (0.00 sec)

MariaDB [druzyna]> delete from pozycja where id=2;

Query OK, 1 row affected (0.04 sec)

MariaDB [druzyna]> delete from zawodnik where id=2;

Query OK, 1 row affected (0.03 sec)

Edycja danych w tabelach połączonych relacjami

MariaDB [ratownictwo]> create table dyspozytorzy

-> (id int unsigned auto_increment primary key,

-> imie varchar(20) not null,

-> nazwisko varchar(20) not null);

Query OK, 0 rows affected (0.16 sec)

MariaDB [ratownictwo]> create table ratownicy

-> (id int unsigned auto_increment primary key,

-> nr_karetki int not null,

-> ratownik1 varchar(20) not null,

-> ratownik2 varchar(20) not null,


-> ratownik3 varchar(20) not null);

Query OK, 0 rows affected (0.15 sec)

MariaDB [ratownictwo]> create table zgloszenia

-> (id int unsigned auto_increment primary key,

-> ratownicy_id int unsigned,

-> dyspozytorzy_id int unsigned,

-> adres varchar(30) not null,

-> constraint pol1

-> foreign key(ratownicy_id)

-> references ratownicy(id),

-> constraint pol2

-> foreign key(dyspozytorzy_id)

-> references dyspozytorzy(id));

Query OK, 0 rows affected (0.25 sec)


MariaDB [ratownictwo]> describe ratownicy;

+------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+------------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| nr_karetki | int(11) | NO | | NULL | |

| ratownik1 | varchar(20) | NO | | NULL | |

| ratownik2 | varchar(20) | NO | | NULL | |

| ratownik3 | varchar(20) | NO | | NULL | |

+------------+------------------+------+-----+---------+----------------+

MariaDB [ratownictwo]> describe dyspozytorzy;

+----------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| imie | varchar(20) | NO | | NULL | |

| nazwisko | varchar(20) | NO | | NULL | |

+----------+------------------+------+-----+---------+----------------+

MariaDB [ratownictwo]> describe zgloszenia;

+-----------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |


| ratownicy_id | int(10) unsigned | YES | MUL | NULL | |

| dyspozytorzy_id | int(10) unsigned | YES | MUL | NULL | |

| adres | varchar(30) | NO | | NULL | |

+-----------------+------------------+------+-----+---------+----------------+

Edycja danych w tabelach połączonych relacjami – ćwiczenia.

MariaDB [kino]> create table gatunki

-> (id int unsigned auto_increment primary key,

-> nazwa varchar(20) not null);

Query OK, 0 rows affected (0.22 sec)

MariaDB [kino]> create table rezyserzy

-> (id int unsigned auto_increment primary key,

-> imie varchar(20) not null,

-> nazwisko varchar(30) not null);

Query OK, 0 rows affected (0.24 sec)Records: 2 Duplicates: 0 Warnings: 0

MariaDB [kino]> create table filmy

-> (id int unsigned auto_increment primary key,

-> gatunki_id int unsigned,

-> rezyserzy_id int unsigned,

-> tytul varchar(50) not null,

-> constraint gat_fil foreign key(gatunki_id) references gatunki(id),

-> constraint rez_fil foreign key(rezyserzy_id) references rezyserzy(id));

Query OK, 0 rows affected (0.17 sec)

MariaDB [kino]> insert into rezyserzy values

-> (null,'Jan','Kowalski'),

-> (null,'Andrzej','Nowak');

Query OK, 2 rows affected (0.06 sec)

Records: 2 Duplicates: 0 Warnings: 0

MariaDB [kino]> insert into gatunki values

-> (null,'Horror'),

-> (null,'Dramat');

Query OK, 2 rows affected (0.08 sec)

Records: 2 Duplicates: 0 Warnings: 0

MariaDB [kino]> insert into filmy values

-> (null,'2','1','Zielona mila'),

-> (null,'1','2','Piła 2');


Query OK, 2 rows affected, 1 warning (0.03 sec)

Records: 2 Duplicates: 0 Warnings: 1\

MariaDB [kino]> select * from filmy;

+----+------------+--------------+--------------+

| id | gatunki_id | rezyserzy_id | tytul |

+----+------------+--------------+--------------+

| 5 | 2 | 1 | Zielona mila |

| 6 | 1 | 2 | Pi?a 2 |

+----+------------+--------------+--------------+

2 rows in set (0.00 sec)

MariaDB [kino]> select * from rezyserzy;

+----+---------+----------+

| id | imie | nazwisko |

+----+---------+----------+

| 1 | Jan | Kowalski |

| 2 | Andrzej | Nowak |

+----+---------+----------

2 rows in set (0.00 sec)

MariaDB [kino]> update rezyserzy set imie='Frank' nazwisko='Darabont' where id='1';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version
for the righ

t syntax to use near 'nazwisko='Darabont' where id='1'' at line 1

MariaDB [kino]> update rezyserzy set imie='Frank', nazwisko='Darabont' where id='1';

Query OK, 1 row affected (0.09 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [kino]> select * from rezyserzy;

+----+---------+----------+

| id | imie | nazwisko |

+----+---------+----------+

| 1 | Frank | Darabont |

| 2 | Andrzej | Nowak |

+----+---------+----------+

2 rows in set (0.00 sec)

MariaDB [kino]> update rezyserzy set imie='Darren', nazwisko='Bousman' where id='2';

Query OK, 1 row affected (0.07 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [kino]> select * from rezyserzy;

+----+--------+----------+

| id | imie | nazwisko |

+----+--------+----------+
| 1 | Frank | Darabont |

| 2 | Darren | Bousman |

+----+--------+----------+

2 rows in set (0.00 sec)

MariaDB [kino]> delete from rezyserzy where id=1;

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`kino`.`filmy`, CONSTRAINT
`rez_fil` FOREIGN

KEY (`rezyserzy_id`) REFERENCES `rezyserzy` (`id`))

MariaDB [kino]> select * from filmy;

+----+------------+--------------+--------------+

| id | gatunki_id | rezyserzy_id | tytul |

+----+------------+--------------+--------------+

| 5 | 2 | 1 | Zielona mila |

| 6 | 1 | 2 | Pi?a 2 |

+----+------------+--------------+--------------+

2 rows in set (0.00 sec)

MariaDB [kino]>

MariaDB [kino]> delete from filmy where id=5;

Query OK, 1 row affected (0.05 sec)

MariaDB [kino]> select * from filmy;

+----+------------+--------------+--------+

| id | gatunki_id | rezyserzy_id | tytul |

+----+------------+--------------+--------+

| 6 | 1 | 2 | Pi?a 2 |

+----+------------+--------------+--------+

1 row in set (0.00 sec)

MariaDB [kino]> delete from rezyserzy where id=1;

Query OK, 1 row affected (0.06 sec)

MariaDB [kino]> select * from rezyserzy;

+----+--------+----------+

| id | imie | nazwisko |

+----+--------+----------+

| 2 | Darren | Bousman |

+----+--------+----------+

1 row in set (0.00 sec)

MariaDB [kino]> update filmy set id=2;

Query OK, 1 row affected (0.05 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [kino]> select * from filmy;

+----+------------+--------------+--------+

| id | gatunki_id | rezyserzy_id | tytul |


+----+------------+--------------+--------+

| 2 | 1 | 2 | Pi?a 2 |

+----+------------+--------------+--------+

1 row in set (0.00 sec)

SPRAWDZIAN, WTOREK

Powtórzenie wiadomości umiejętności dotyczące tworzenia baz danych,


tworzenia baz danych, tworzenia tabel, relacji. Operacje na rekordach.
MariaDB [szkola]> create table klasa

-> (id int unsigned auto_increment primary key,

-> id_kl varchar(20) not null,

-> liczba_uczniow varchar(20) not null);

Query OK, 0 rows affected (0.19 sec)

MariaDB [szkola]> create table przewodzniczacy

-> (id_u int unsigned auto_increment primary key,

-> nazwisko varchar(20) not null,

-> imie varchar(20) not null,

-> id_kl int unsigned,

-> constraint pr_kl

-> foreign key(id_kl)

-> references klasa(id));

Query OK, 0 rows affected (0.21 sec)

MariaDB [szkola]> insert into klasa values

-> (1,'1P','30'),

-> (2,'2P','25'),

-> (3,'2I','20');

Query OK, 3 rows affected (0.04 sec)

Records: 3 Duplicates: 0 Warnings: 0

MariaDB [szkola]> insert into przewodniczacy values

-> (1,'Kowalski','Jan',2),

-> (2,'Nowak','Andrzej',3),

-> (3,'Winiewska','Izabela',1);

Query OK, 3 rows affected (0.05 sec)

Records: 3 Duplicates: 0 Warnings: 0


Wyszukiwanie danych w bazie danych – SELECT
Operatory najczęściej stosowane w klauzuli WHERE

 = | sprawdza, czy pole jest równe


 > | większe niż
 < | mniejsze niż
 >= | większe lub równe
 <= | mniejsze lub równe
 != lub <> |
 Is not null | sprawdza, czy pole ma nadaną wartość (adres is not null)
 Is null | sprawdza, czy pole jest puste
 Between | sprawdza, czy wartość jest większa lub równe wartości minimalnej i mniejsza lub równe wartości
maksymalnej
 In | sprawdza, czy wartość należy do danego zbioru
 Not In | sprawdza, czy wartość nie należy do danego zbioru
 Like | sprawdza, czy wartość pasuje do danego wzorca

MariaDB [szkola]> select imie, nazwisko from uczen where imie like '%a%';

+------------+------------+

| imie | nazwisko |

+------------+------------+

| Jan | Kowalski |

| Andrzej | Nowak |

| Anna | Wisniewska |

| Adam | Wisniewski |

| Franciszek | P?uta |

| Jan | Ser |

| Miko?aj | Czerwony |

+------------+------------+

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc in('Tychy','Kobiór');

+---------+------------+

| imie | nazwisko |

+---------+------------+

| Jan | Kowalski |

| Andrzej | Nowak |

| Adam | Wisniewski |

| Miko?aj | Czerwony |

+---------+------------+

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc like 'T%' and nazwisko
like '%a%';

+---------+----------+

| imie | nazwisko |

+---------+----------+

| Jan | Kowalski |

| Andrzej | Nowak |

+---------+----------+

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc like 'T%' and nazwisko

like '%a%' or miejscowosc like 'T%' and nazwisko like '%e%';

+---------+----------+

| imie | nazwisko |

+---------+----------+

| Jan | Kowalski |

| Andrzej | Nowak |

| Miko?aj | Czerwony |

+---------+----------+

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc not in('Tychy');

+------------+------------+

| imie | nazwisko |

+------------+------------+

| Izydor | Wisniewski |

| Anna | Wisniewska |

| Adam | Wisniewski |

| Franciszek | P?uta |

| Jan | Ser |

+------------+------------+

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc is null;

MariaDB [szkola]> select imie, nazwisko from uczen where miejscowosc is not null;

PIĄTEK KARTKÓWKA SELECT


Kopia zapasowa (eksport i import) MySQL (i MariaDB ) z linii poleceń.

Mysql –u Root [nazwa bazy]<[nazwa tabeli.sql]

MariaDB [sklep]> select * from pracownicy;

+------+----------+-----------+------------+-----------+

| Nr_P | nazwisko | imie | stanowisko | nr_działu |

+------+----------+-----------+------------+-----------+

| 736 | Smitko | Alan | urz?dnik | 20 |

| 7499 | Nowak | Kazimierz | sprzedawca | 30 |

| 7521 | Wi?cek | Mariusz | sprzedawca | 30 |

| 7566 | Jonas | Kamil | kierownik | 20 |

| 7654 | Martin | Leon | sprzedawca | 30 |

| 7698 | Bracki | Bartosz | kierownik | 30 |

| 7782 | Celerek | Agnieszka | kierownik | 10 |

| 7788 | Skotnik | Natalia | analityk | 20 |

| 7839 | King | Miros?aw | prezes | 10 |

+------+----------+-----------+------------+-----------+

You might also like