{"id":126,"date":"2025-04-29T06:07:54","date_gmt":"2025-04-29T06:07:54","guid":{"rendered":"https:\/\/zajecia.tsadowski.pl\/?p=126"},"modified":"2025-11-06T15:06:58","modified_gmt":"2025-11-06T15:06:58","slug":"powtorzenie-zagadnien-z-mysql-3","status":"publish","type":"post","link":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/","title":{"rendered":"Powt\u00f3rzenie zagadnie\u0144 z MySQL"},"content":{"rendered":"<h2><strong>SELECT<\/strong><\/h2>\n<h3><strong>1. Podstawowa sk\u0142adnia <code>SELECT<\/code><\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">SELECT kolumna1, kolumna2\nFROM nazwa_tabeli\nWHERE warunek\nORDER BY kolumna;<\/code><\/pre>\n<ul>\n<li><code>SELECT<\/code> \u2014 wybiera kolumny do wy\u015bwietlenia,<\/li>\n<li><code>FROM<\/code> \u2014 wskazuje tabel\u0119, z kt\u00f3rej pobieramy dane,<\/li>\n<li><code>WHERE<\/code> \u2014 warunek filtrowania danych,<\/li>\n<li><code>ORDER BY<\/code> \u2014 sortowanie wynik\u00f3w.<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>2. <code>INNER JOIN<\/code> \u2013 \u0142\u0105czenie tabel<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">SELECT a.kolumna, b.kolumna\nFROM tabela_a a\nINNER JOIN tabela_b b ON a.id = b.id;<\/code><\/pre>\n<ul>\n<li><code>INNER JOIN<\/code> zwraca tylko te rekordy, kt\u00f3re maj\u0105 dopasowanie w obu tabelach.<\/li>\n<li>U\u017cywany, gdy dane s\u0105 rozdzielone mi\u0119dzy kilka tabel (np. zam\u00f3wienia i klienci).<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>3. <code>GROUP BY<\/code> \u2013 grupowanie danych<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">SELECT kolumna_agregowana, COUNT(*)\nFROM tabela\nGROUP BY kolumna_agregowana;<\/code><\/pre>\n<ul>\n<li>Grupuje dane na podstawie warto\u015bci w kolumnie.<\/li>\n<li>Cz\u0119sto u\u017cywane z funkcjami agreguj\u0105cymi.<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>4. Funkcje agreguj\u0105ce<\/strong><\/h3>\n<ul>\n<li><code>SUM(kolumna)<\/code> \u2013 suma warto\u015bci,<\/li>\n<li><code>AVG(kolumna)<\/code> \u2013 \u015brednia,<\/li>\n<li><code>COUNT(*)<\/code> \u2013 liczba wierszy,<\/li>\n<li><code>MAX(kolumna)<\/code> \u2013 najwi\u0119ksza warto\u015b\u0107,<\/li>\n<li><code>MIN(kolumna)<\/code> \u2013 najmniejsza warto\u015b\u0107.<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>5. <code>ORDER BY<\/code> \u2013 sortowanie wynik\u00f3w<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">SELECT * FROM tabela\nORDER BY kolumna ASC; -- lub DESC<\/code><\/pre>\n<ul>\n<li><code>ASC<\/code> \u2013 rosn\u0105co (domy\u015blnie),<\/li>\n<li><code>DESC<\/code> \u2013 malej\u0105co,<\/li>\n<li>\n<h2>RAND() &#8211; losowo, przelosowanie rekord\u00f3w.<\/h2>\n<\/li>\n<\/ul>\n<h2><strong>Kod tworz\u0105cy tabele i dane<\/strong><\/h2>\n<pre><code class=\"lang-sql language-sql sql\">-- Klienci\nCREATE TABLE klienci (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    imie VARCHAR(50),\n    nazwisko VARCHAR(50),\n    status VARCHAR(20),\n    data_rejestracji DATE\n);\n\n-- Produkty\nCREATE TABLE produkty (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    nazwa VARCHAR(100),\n    kategoria VARCHAR(50),\n    cena DECIMAL(10,2),\n    ilosc_magazynowa INT\n);\n\n-- Zamowienia\nCREATE TABLE zamowienia (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    id_klient INT,\n    wartosc_zamowienia DECIMAL(10,2),\n    data_zamowienia DATE,\n    FOREIGN KEY (id_klient) REFERENCES klienci(id)\n);\n\n-- Wstawianie przyk\u0142adowych danych\nINSERT INTO klienci (imie, nazwisko, status, data_rejestracji) VALUES\n(&#039;Anna&#039;, &#039;Nowak&#039;, &#039;aktywny&#039;, &#039;2024-01-15&#039;),\n(&#039;Tomasz&#039;, &#039;Kowalski&#039;, &#039;zawieszony&#039;, &#039;2023-09-10&#039;),\n(&#039;Maria&#039;, &#039;Wojcik&#039;, &#039;aktywny&#039;, &#039;2024-03-05&#039;);\n\nINSERT INTO produkty (nazwa, kategoria, cena, ilosc_magazynowa) VALUES\n(&#039;Laptop Lenovo&#039;, &#039;Elektronika&#039;, 4500.00, 10),\n(&#039;Kawa&#039;, &#039;Spozywcze&#039;, 18.90, 50),\n(&#039;Myszka&#039;, &#039;Elektronika&#039;, 89.99, 25);\n\nINSERT INTO zamowienia (id_klient, wartosc_zamowienia, data_zamowienia) VALUES\n(1, 4500.00, &#039;2024-02-01&#039;),\n(2, 18.90, &#039;2024-02-10&#039;),\n(1, 89.99, &#039;2024-03-01&#039;);<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne<\/strong><\/h2>\n<h4><strong>\u0106wiczenie 1<\/strong><\/h4>\n<p>Wy\u015bwietl wszystkie dane z tabeli <code>klienci<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 2<\/strong><\/h4>\n<p>Wy\u015bwietl imi\u0119, nazwisko i status tylko tych klient\u00f3w, kt\u00f3rzy maj\u0105 status <code>aktywny<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 3<\/strong><\/h4>\n<p>Wy\u015bwietl wszystkie zam\u00f3wienia posortowane malej\u0105co wed\u0142ug <code>wartosc_zamowienia<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 4<\/strong><\/h4>\n<p>Wy\u015bwietl nazwisko klienta oraz warto\u015b\u0107 zam\u00f3wienia, u\u017cywaj\u0105c <code>INNER JOIN<\/code> mi\u0119dzy <code>klienci<\/code> i <code>zamowienia<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 5<\/strong><\/h4>\n<p>Oblicz sum\u0119 warto\u015bci wszystkich zam\u00f3wie\u0144.<\/p>\n<h4><strong>\u0106wiczenie 6<\/strong><\/h4>\n<p>Pogrupuj zam\u00f3wienia wed\u0142ug <code>id_klient<\/code> i oblicz \u0142\u0105czn\u0105 warto\u015b\u0107 zam\u00f3wie\u0144 dla ka\u017cdego klienta.<\/p>\n<h4><strong>\u0106wiczenie 7<\/strong><\/h4>\n<p>Policz, ilu jest klient\u00f3w o ka\u017cdym statusie (<code>GROUP BY<\/code> + <code>COUNT()<\/code>).<\/p>\n<h4><strong>\u0106wiczenie 8<\/strong><\/h4>\n<p>Wy\u015bwietl wszystkie produkty z kategorii <code>Elektronika<\/code>, kt\u00f3rych cena jest wi\u0119ksza ni\u017c 500 z\u0142.<\/p>\n<h4><strong>\u0106wiczenie 9<\/strong><\/h4>\n<p>Oblicz \u015bredni\u0105 warto\u015b\u0107 zam\u00f3wienia z tabeli <code>zamowienia<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 10<\/strong><\/h4>\n<p>Wy\u015bwietl imi\u0119, nazwisko klienta oraz sum\u0119 jego zam\u00f3wie\u0144, posortowane malej\u0105co wed\u0142ug tej sumy.<\/p>\n<h3><strong>Dodatkowe \u0107wiczenia z egzaminu:<\/strong><\/h3>\n<ul>\n<li>Zapytanie wybieraj\u0105ce jedynie niepowtarzaj\u0105ce si\u0119 warto\u015bci z pola wpis dla zada\u0144 z pierwszych\n7 dni lipca roku 2020 (od 1 do 7 lipca) oraz takich, gdzie pole wpis nie jest puste<\/li>\n<li>Zapytanie licz\u0105ce \u015bredni\u0105 arytmetyczn\u0105 cen us\u0142ug oraz liczb\u0119 us\u0142ug jedynie dla us\u0142ug\nkosmetycznych<\/li>\n<li>Zapytanie  wybieraj\u0105ce jedynie pola cel i cena z tabeli wycieczki oraz odpowiadaj\u0105ce im pole\npodpis z tabeli zdjecia, dla wycieczek, kt\u00f3rych cena jest wy\u017csza ni\u017c 1300 z\u0142. Zapytanie wykorzystuje\nrelacj\u0119<\/li>\n<li>Zapytanie licz\u0105ce dla wszystkich uczestnik\u00f3w: \u015bredni koszt konferencji z nazw\u0105 kolumny\n(alias) \u201e\u015aredni koszt\u201d, sum\u0119 koszt\u00f3w z nazw\u0105 kolumny (alias) \u201eCa\u0142kowity koszt\u201d, liczb\u0119\nzapisanych w bazie uczestnik\u00f3w z nazw\u0105 kolumny (alias) \u201eLiczba uczestnik\u00f3w\u201d<\/li>\n<li>Zapytanie wybieraj\u0105ce losowo dok\u0142adnie pi\u0119\u0107 rekord\u00f3w z tabeli nagrody zawieraj\u0105cych\njedynie pola nazwa, opis i cena<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>ALTER TABLE<\/strong><\/h3>\n<p>Instrukcja <code>ALTER TABLE<\/code> pozwala na <strong>modyfikowanie istniej\u0105cej tabeli<\/strong> w bazie danych MySQL. Dzi\u0119ki niej mo\u017cesz:<\/p>\n<ul>\n<li>dodawa\u0107 nowe kolumny,<\/li>\n<li>usuwa\u0107 istniej\u0105ce kolumny,<\/li>\n<li>zmienia\u0107 typ danych kolumny,<\/li>\n<li>zmienia\u0107 nazw\u0119 kolumny lub tabeli,<\/li>\n<li>dodawa\u0107\/usuwac indeksy i klucze obce,<\/li>\n<li>ustawia\u0107\/usuwa\u0107 domy\u015blne warto\u015bci kolumn.<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>Najwa\u017cniejsze zastosowania <code>ALTER TABLE<\/code><\/strong><\/h3>\n<h4>1. <strong>Dodawanie kolumny<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli ADD kolumna typ_danych;<\/code><\/pre>\n<h4>2. <strong>Usuwanie kolumny<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli DROP COLUMN kolumna;<\/code><\/pre>\n<h4>3. <strong>Zmiana typu danych kolumny<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli MODIFY kolumna nowy_typ;<\/code><\/pre>\n<h4>4. <strong>Zmiana nazwy kolumny<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli CHANGE stara_nazwa nowa_nazwa typ_danych;<\/code><\/pre>\n<h4>5. <strong>Zmiana nazwy tabeli<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">RENAME TABLE stara_nazwa TO nowa_nazwa;<\/code><\/pre>\n<h4>6. <strong>Dodawanie warto\u015bci domy\u015blnej<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli ALTER kolumna SET DEFAULT &#039;wartosc&#039;;<\/code><\/pre>\n<h4>7. <strong>Usuwanie warto\u015bci domy\u015blnej<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli ALTER kolumna DROP DEFAULT;<\/code><\/pre>\n<h4>8. <strong>Dodawanie indeksu<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE nazwa_tabeli ADD INDEX (kolumna);<\/code><\/pre>\n<h4>9. <strong>Dodawanie klucza obcego<\/strong><\/h4>\n<pre><code class=\"lang-sql language-sql sql\">ALTER TABLE zamowienia ADD CONSTRAINT fk_klient_id FOREIGN KEY (klient_id) REFERENCES klienci(id);<\/code><\/pre>\n<hr \/>\n<h2><strong>Kod do utworzenia tabeli przyk\u0142adowej<\/strong><\/h2>\n<pre><code class=\"lang-sql language-sql sql\">CREATE TABLE pracownicy (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    imie VARCHAR(50),\n    nazwisko VARCHAR(50),\n    dzial VARCHAR(50),\n    zatrudniony DATE\n);<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne z <code>ALTER TABLE<\/code><\/strong><\/h2>\n<h4><strong>\u0106wiczenie 1<\/strong><\/h4>\n<p>Dodaj now\u0105 kolumn\u0119 <code>email<\/code> typu <code>VARCHAR(100)<\/code> do tabeli <code>pracownicy<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 2<\/strong><\/h4>\n<p>Zmie\u0144 typ kolumny <code>dzial<\/code> na <code>VARCHAR(100)<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 3<\/strong><\/h4>\n<p>Zmie\u0144 nazw\u0119 kolumny <code>zatrudniony<\/code> na <code>data_zatrudnienia<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 4<\/strong><\/h4>\n<p>Usu\u0144 kolumn\u0119 <code>email<\/code> z tabeli.<\/p>\n<h4><strong>\u0106wiczenie 5<\/strong><\/h4>\n<p>Dodaj now\u0105 kolumn\u0119 <code>pensja<\/code> typu <code>DECIMAL(10,2)<\/code> z domy\u015bln\u0105 warto\u015bci\u0105 <code><\/code>.<\/p>\n<h4><strong>\u0106wiczenie 6<\/strong><\/h4>\n<p>Ustaw warto\u015b\u0107 domy\u015bln\u0105 <code>brak<\/code> dla kolumny <code>dzial<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 7<\/strong><\/h4>\n<p>Usu\u0144 warto\u015b\u0107 domy\u015bln\u0105 z kolumny <code>dzial<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 8<\/strong><\/h4>\n<p>Zmie\u0144 nazw\u0119 tabeli <code>pracownicy<\/code> na <code>zatrudnieni<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 9<\/strong><\/h4>\n<p>Dodaj indeks na kolumnie <code>nazwisko<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 10<\/strong><\/h4>\n<p>Przywr\u00f3\u0107 nazw\u0119 tabeli <code>zatrudnieni<\/code> do pierwotnej <code>pracownicy<\/code>.<\/p>\n<h3><strong>Dodatkowe \u0107wiczenia z egzaminu:<\/strong><\/h3>\n<ul>\n<li>Zapytanie usuwaj\u0105ce tabel\u0119 uzytkownik<\/li>\n<li>Zapytanie dodaj\u0105ce do tabeli wycieczki pole liczbaDni przyjmuj\u0105ce tylko liczby naturalne, pole\npowinno by\u0107 wstawione po polu dataWyjazdu<\/li>\n<li>Zapytanie dodaj\u0105ce do tabeli Ryby kolumn\u0119 dobowy_limit typu numerycznego, o rozmiarze\npozwalaj\u0105cym na wpisanie jedynie liczb z przedzia\u0142u <\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>\n<h2>Zapytanie<\/h2>\n<\/li>\n<\/ul>\n<h3><strong>INSERT INTO<\/strong><\/h3>\n<p>Polecenie <code>INSERT INTO<\/code> s\u0142u\u017cy do <strong>wstawiania nowych danych<\/strong> do istniej\u0105cej tabeli. To jedna z najcz\u0119\u015bciej u\u017cywanych instrukcji w SQL.<\/p>\n<hr \/>\n<h3><strong>Podstawowa sk\u0142adnia<\/strong><\/h3>\n<h4>Wstawienie danych do wszystkich kolumn (w tej samej kolejno\u015bci jak w tabeli):<\/h4>\n<pre><code class=\"lang-sql language-sql sql\">INSERT INTO nazwa_tabeli VALUES (wartosc1, wartosc2, ...);<\/code><\/pre>\n<h4>Wstawienie danych tylko do wybranych kolumn:<\/h4>\n<pre><code class=\"lang-sql language-sql sql\">INSERT INTO nazwa_tabeli (kolumna1, kolumna2) VALUES (wartosc1, wartosc2);<\/code><\/pre>\n<h4>Wstawienie wielu wierszy na raz:<\/h4>\n<pre><code class=\"lang-sql language-sql sql\">INSERT INTO nazwa_tabeli (kolumna1, kolumna2) \nVALUES \n    (wartosc1a, wartosc2a),\n    (wartosc1b, wartosc2b);<\/code><\/pre>\n<hr \/>\n<h3><strong>Uwagi praktyczne<\/strong><\/h3>\n<ul>\n<li>Nie trzeba podawa\u0107 kolumny <code>AUTO_INCREMENT<\/code>, np. <code>id<\/code>, je\u015bli nie chcemy przypisywa\u0107 jej r\u0119cznie.<\/li>\n<li>Mo\u017cna \u0142\u0105czy\u0107 <code>INSERT INTO<\/code> z innymi poleceniami, np. <code>SELECT<\/code>, ale tego nie omawiamy w tej lekcji.<\/li>\n<\/ul>\n<hr \/>\n<h2><strong>Kod tworz\u0105cy tabel\u0119 do \u0107wicze\u0144<\/strong><\/h2>\n<pre><code class=\"lang-sql language-sql sql\">CREATE TABLE produkty (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    nazwa VARCHAR(100),\n    kategoria VARCHAR(50),\n    cena DECIMAL(10,2),\n    ilosc INT\n);<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne z <code>INSERT INTO<\/code><\/strong><\/h2>\n<h4><strong>\u0106wiczenie 1<\/strong><\/h4>\n<p>Wstaw do tabeli <code>produkty<\/code> nowy produkt: <code>&quot;Laptop&quot;<\/code>, <code>&quot;Elektronika&quot;<\/code>, <code>4500.00<\/code>, <code>10<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 2<\/strong><\/h4>\n<p>Wstaw dwa produkty jednocze\u015bnie: <code>&quot;Kawa&quot;<\/code>, <code>&quot;Spozywcze&quot;<\/code>, <code>18.90<\/code>, <code>50<\/code> oraz <code>&quot;Myszka&quot;<\/code>, <code>&quot;Elektronika&quot;<\/code>, <code>89.99<\/code>, <code>25<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 3<\/strong><\/h4>\n<p>Wstaw produkt <code>&quot;D\u0142ugopis&quot;<\/code> tylko z kolumnami <code>nazwa<\/code>, <code>kategoria<\/code>. Pozosta\u0142e kolumny pozostaw puste (NULL lub domy\u015blne).<\/p>\n<h4><strong>\u0106wiczenie 4<\/strong><\/h4>\n<p>Wstaw produkt <code>&quot;Krzeslo&quot;<\/code> z kategori\u0105 <code>&quot;Meble&quot;<\/code>, cen\u0105 <code>120.00<\/code> i ilo\u015bci\u0105 <code>30<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 5<\/strong><\/h4>\n<p>Dodaj produkt <code>&quot;Monitor&quot;<\/code>, <code>&quot;Elektronika&quot;<\/code>, <code>999.99<\/code>, <code>15<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 6<\/strong><\/h4>\n<p>Wstaw produkt <code>&quot;Sok jab\u0142kowy&quot;<\/code>, <code>&quot;Spozywcze&quot;<\/code>, <code>4.50<\/code>, <code>100<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 7<\/strong><\/h4>\n<p>Dodaj produkt z niestandardow\u0105 nazw\u0105: <code>&quot;Telefon \\&quot;Galaxy\\&quot;&quot;<\/code> i kategori\u0105 <code>&quot;Elektronika&quot;<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 8<\/strong><\/h4>\n<p>Spr\u00f3buj wstawi\u0107 produkt z liter\u00f3wk\u0105 w nazwie kolumny (np. <code>cnena<\/code> zamiast <code>cena<\/code>). Zapisz i om\u00f3w komunikat b\u0142\u0119du.<\/p>\n<h4><strong>\u0106wiczenie 9<\/strong><\/h4>\n<p>Wstaw pi\u0119\u0107 produkt\u00f3w naraz z r\u00f3\u017cnych kategorii.<\/p>\n<h4><strong>\u0106wiczenie 10<\/strong><\/h4>\n<p>U\u017cyj <code>INSERT INTO<\/code> z podaniem tylko <code>nazwa<\/code>, <code>ilosc<\/code>, np. <code>&quot;Kabel USB&quot;<\/code>, <code>100<\/code>. Pozosta\u0142e warto\u015bci pomi\u0144.<\/p>\n<h3><strong>Dodatkowe \u0107wiczenia z egzaminu:<\/strong><\/h3>\n<ul>\n<li>Zapytanie wstawiaj\u0105ce do tabeli wagi rekord z danymi: lokalizacje_id: 5, waga: losowa\nliczba z przedzia\u0142u 1..10 (wygenerowana funkcj\u0105), rejestracja: DW12345, aktualna data (do\npola dzien) i aktualny czas (do pola czas). Klucz g\u0142\u00f3wny nadawany automatycznie. Zapytanie\nma charakter uniwersalny, zawsze wstawia warto\u015b\u0107 aktualnej daty i czasu<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>\n<h2>Zapytanie<\/h2>\n<\/li>\n<\/ul>\n<h3><strong>UPDATE<\/strong><\/h3>\n<p>Polecenie <code>UPDATE<\/code> s\u0142u\u017cy do <strong>modyfikowania istniej\u0105cych danych<\/strong> w tabeli. Pozwala zmienia\u0107 warto\u015bci w jednym lub wielu rekordach zgodnie z okre\u015blonym warunkiem.<\/p>\n<hr \/>\n<h3><strong>Podstawowa sk\u0142adnia<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">UPDATE nazwa_tabeli\nSET kolumna1 = nowa_wartosc1, kolumna2 = nowa_wartosc2\nWHERE warunek;<\/code><\/pre>\n<ul>\n<li><strong><code>SET<\/code><\/strong> \u2014 okre\u015blamy, kt\u00f3re kolumny maj\u0105 by\u0107 zaktualizowane.<\/li>\n<li><strong><code>WHERE<\/code><\/strong> \u2014 warunek, kt\u00f3ry wskazuje, kt\u00f3re rekordy maj\u0105 zosta\u0107 zmodyfikowane. <strong>Bez <code>WHERE<\/code> zmieni\u0105 si\u0119 wszystkie rekordy.<\/strong><\/li>\n<\/ul>\n<hr \/>\n<h3><strong>Uwagi praktyczne<\/strong><\/h3>\n<ul>\n<li>Zawsze u\u017cywaj <code>WHERE<\/code>, chyba \u017ce <strong>\u015bwiadomie<\/strong> chcesz zmieni\u0107 wszystkie rekordy.<\/li>\n<li>Mo\u017cna aktualizowa\u0107 wiele kolumn naraz.<\/li>\n<li>Mo\u017cna u\u017cywa\u0107 operator\u00f3w (<code>+<\/code>, <code>-<\/code>, <code>*<\/code>, <code>\/<\/code>) do oblicze\u0144 w <code>SET<\/code>.<\/li>\n<\/ul>\n<hr \/>\n<h2><strong>Kod tworz\u0105cy tabel\u0119 do \u0107wicze\u0144<\/strong><\/h2>\n<pre><code class=\"lang-sql language-sql sql\">CREATE TABLE produkty (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    nazwa VARCHAR(100),\n    kategoria VARCHAR(50),\n    cena DECIMAL(10,2),\n    ilosc INT\n);\n\nINSERT INTO produkty (nazwa, kategoria, cena, ilosc) VALUES\n(&#039;Laptop&#039;, &#039;Elektronika&#039;, 4500.00, 10),\n(&#039;Kawa&#039;, &#039;Spozywcze&#039;, 18.90, 50),\n(&#039;Myszka&#039;, &#039;Elektronika&#039;, 89.99, 25),\n(&#039;Dlugopis&#039;, &#039;Biuro&#039;, 2.50, 100),\n(&#039;Krzeslo&#039;, &#039;Meble&#039;, 120.00, 30),\n(&#039;Monitor&#039;, &#039;Elektronika&#039;, 999.99, 15),\n(&#039;Sok jablkowy&#039;, &#039;Spozywcze&#039;, 4.50, 100),\n(&#039;Telefon Galaxy&#039;, &#039;Elektronika&#039;, 3499.00, 8),\n(&#039;Kabel USB&#039;, &#039;Elektronika&#039;, 12.00, 100),\n(&#039;Notes&#039;, &#039;Biuro&#039;, 5.00, 60);<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne z <code>UPDATE<\/code><\/strong><\/h2>\n<h4><strong>\u0106wiczenie 1<\/strong><\/h4>\n<p>Zmie\u0144 cen\u0119 produktu <code>&quot;Myszka&quot;<\/code> na <code>79.99<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 2<\/strong><\/h4>\n<p>Zwi\u0119ksz ilo\u015b\u0107 <code>Laptop<\/code> o 5 sztuk.<\/p>\n<h4><strong>\u0106wiczenie 3<\/strong><\/h4>\n<p>Zmie\u0144 kategori\u0119 wszystkich produkt\u00f3w <code>&quot;Spozywcze&quot;<\/code> na <code>&quot;Artykuly spozywcze&quot;<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 4<\/strong><\/h4>\n<p>Zmie\u0144 nazw\u0119 <code>&quot;Telefon Galaxy&quot;<\/code> na <code>&quot;Smartfon Galaxy&quot;<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 5<\/strong><\/h4>\n<p>Ustaw cen\u0119 wszystkich produkt\u00f3w z kategorii <code>&quot;Biuro&quot;<\/code> na <code>6.00<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 6<\/strong><\/h4>\n<p>Obni\u017c cen\u0119 <code>&quot;Monitor&quot;<\/code> o 10%.<\/p>\n<h4><strong>\u0106wiczenie 7<\/strong><\/h4>\n<p>Zmie\u0144 nazw\u0119 <code>&quot;Sok jablkowy&quot;<\/code> na <code>&quot;Sok 100% jablkowy&quot;<\/code> i ustaw jego ilo\u015b\u0107 na <code>80<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 8<\/strong><\/h4>\n<p>Zwi\u0119ksz ilo\u015b\u0107 wszystkich produkt\u00f3w o <code>10<\/code>, ale tylko tych, kt\u00f3re maj\u0105 mniej ni\u017c <code>50<\/code> sztuk.<\/p>\n<h4><strong>\u0106wiczenie 9<\/strong><\/h4>\n<p>Ustaw cen\u0119 <code>0.00<\/code> dla wszystkich produkt\u00f3w z cen\u0105 poni\u017cej <code>5.00<\/code>.<\/p>\n<h4><strong>\u0106wiczenie 10<\/strong><\/h4>\n<p>Dla wszystkich produkt\u00f3w z kategorii <code>&quot;Elektronika&quot;<\/code>, zwi\u0119ksz cen\u0119 o <code>50<\/code>.<\/p>\n<h3><strong>Dodatkowe \u0107wiczenia z egzaminu:<\/strong><\/h3>\n<ul>\n<li>Zapytanie aktualizuj\u0105ce tabel\u0119 wagi. Rekordy, w kt\u00f3rych pole lokalizacje_id jest r\u00f3wne: 2, 3, 4 maj\u0105\nzmienione dat\u0119 i czas na warto\u015bci aktualne. Zapytanie ma charakter uniwersalny, zawsze zmienia\nwarto\u015b\u0107 na aktualn\u0105 dat\u0119 \/ czas<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<li>Zapytanie<\/li>\n<\/ul>\n<hr \/>\n<p>Oto <strong>lekcja powt\u00f3rzeniowa z <code>SELECT<\/code> w MySQL<\/strong>, uwzgl\u0119dniaj\u0105ca:<\/p>\n<ul>\n<li>podstawy <code>SELECT<\/code>,<\/li>\n<li><code>INNER JOIN<\/code>,<\/li>\n<li><code>GROUP BY<\/code>,<\/li>\n<li>funkcje agreguj\u0105ce (<code>SUM()<\/code>, <code>AVG()<\/code>, <code>COUNT()<\/code>, <code>MAX()<\/code>, <code>MIN()<\/code>),<\/li>\n<li>sortowanie danych (<code>ORDER BY<\/code>),<\/li>\n<li><strong>kod tworz\u0105cy tabele i dane<\/strong>,<\/li>\n<li><strong>10 \u0107wicze\u0144 praktycznych<\/strong>.<\/li>\n<\/ul>\n<hr \/>\n<h2><strong>U\u017cytkownicy i uprawnienia<\/strong><\/h2>\n<h3><strong>1. Tworzenie u\u017cytkownika<\/strong><\/h3>\n<p>Aby doda\u0107 nowego u\u017cytkownika:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">CREATE USER &#039;nazwa_uzytkownika&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;haslo&#039;;<\/code><\/pre>\n<p>Przyk\u0142ad:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">CREATE USER &#039;student&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;Test123!&#039;;<\/code><\/pre>\n<h3><strong>2. Usuwanie u\u017cytkownika<\/strong><\/h3>\n<p>Usuni\u0119cie u\u017cytkownika z bazy danych:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">DROP USER &#039;nazwa_uzytkownika&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<p>Przyk\u0142ad:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">DROP USER &#039;student&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<h3><strong>3. Nadawanie uprawnie\u0144<\/strong><\/h3>\n<p>U\u017cytkownikowi mo\u017cna nada\u0107 pe\u0142ne lub cz\u0119\u015bciowe uprawnienia do bazy lub tabeli:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">GRANT SELECT, INSERT ON nazwa_bazy.nazwa_tabeli TO &#039;uzytkownik&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<p>Przyk\u0142ad:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">GRANT SELECT, INSERT ON sklep.klienci TO &#039;student&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<p>Nadanie wszystkich uprawnie\u0144 do ca\u0142ej bazy:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">GRANT ALL PRIVILEGES ON sklep.* TO &#039;admin&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<h3><strong>4. Odbieranie uprawnie\u0144<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">REVOKE INSERT ON sklep.klienci FROM &#039;student&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<p>Mo\u017cna te\u017c odebra\u0107 wszystkie uprawnienia:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">REVOKE ALL PRIVILEGES, GRANT OPTION FROM &#039;student&#039;@&#039;localhost&#039;;<\/code><\/pre>\n<h3><strong>5. Zastosowanie zmian<\/strong><\/h3>\n<p>W niekt\u00f3rych wersjach MySQL nale\u017cy od\u015bwie\u017cy\u0107 uprawnienia:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">FLUSH PRIVILEGES;<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne<\/strong><\/h2>\n<p><strong>\u0106wiczenie 1:<\/strong><br \/>\nUtw\u00f3rz u\u017cytkownika <code>nauczyciel<\/code> z has\u0142em <code>MocneHaslo123<\/code>.<\/p>\n<p><strong>\u0106wiczenie 2:<\/strong><br \/>\nUtw\u00f3rz u\u017cytkownika <code>gosc<\/code> z has\u0142em <code>WitajGosciu<\/code>, kt\u00f3ry mo\u017ce si\u0119 \u0142\u0105czy\u0107 tylko z localhosta.<\/p>\n<p><strong>\u0106wiczenie 3:<\/strong><br \/>\nNadaj u\u017cytkownikowi <code>nauczyciel<\/code> pe\u0142ne uprawnienia do bazy <code>sklep<\/code>.<\/p>\n<p><strong>\u0106wiczenie 4:<\/strong><br \/>\nNadaj u\u017cytkownikowi <code>gosc<\/code> tylko mo\u017cliwo\u015b\u0107 <code>SELECT<\/code> na tabeli <code>produkty<\/code> z bazy <code>sklep<\/code>.<\/p>\n<p><strong>\u0106wiczenie 5:<\/strong><br \/>\nSprawd\u017a, jakie uprawnienia ma u\u017cytkownik <code>gosc<\/code>. (U\u017cyj zapytania do <code>INFORMATION_SCHEMA<\/code>)<\/p>\n<p><strong>\u0106wiczenie 6:<\/strong><br \/>\nOdbierz u\u017cytkownikowi <code>gosc<\/code> prawo do <code>SELECT<\/code> z tabeli <code>produkty<\/code>.<\/p>\n<p><strong>\u0106wiczenie 7:<\/strong><br \/>\nUtw\u00f3rz u\u017cytkownika <code>magazynier<\/code> z has\u0142em <code>Magazyn123<\/code>, kt\u00f3ry ma prawo <code>SELECT<\/code>, <code>INSERT<\/code> i <code>UPDATE<\/code> do tabeli <code>produkty<\/code>.<\/p>\n<p><strong>\u0106wiczenie 8:<\/strong><br \/>\nZmie\u0144 has\u0142o u\u017cytkownika <code>nauczyciel<\/code> na <code>NoweHaslo2025<\/code>.<\/p>\n<p><strong>\u0106wiczenie 9:<\/strong><br \/>\nNadaj u\u017cytkownikowi <code>magazynier<\/code> uprawnienie do usuwania (<code>DELETE<\/code>) danych z tabeli <code>produkty<\/code>.<\/p>\n<p><strong>\u0106wiczenie 10:<\/strong><br \/>\nUsu\u0144 u\u017cytkownika <code>gosc<\/code> z serwera MySQL.<\/p>\n<hr \/>\n<p>Oto <strong>lekcja powt\u00f3rzeniowa na temat widok\u00f3w (<code>VIEW<\/code>) w MySQL<\/strong>, z cz\u0119\u015bci\u0105 teoretyczn\u0105, przyk\u0142adami i 10 \u0107wiczeniami. Przygotowana z my\u015bl\u0105 o uczniach, kt\u00f3rzy znaj\u0105 podstawy SQL i pracuj\u0105 na bazie typu \u201esklep\u201d (np. <code>klienci<\/code>, <code>produkty<\/code>, <code>zamowienia<\/code>).<\/p>\n<hr \/>\n<h2><strong>Widoki (<code>VIEW<\/code>)<\/strong><\/h2>\n<h3><strong>1. Co to jest widok (ang. <code>VIEW<\/code>)<\/strong><\/h3>\n<p>Widok to zapisane zapytanie SELECT, kt\u00f3re mo\u017cna traktowa\u0107 jak wirtualn\u0105 tabel\u0119. Widoki s\u0142u\u017c\u0105 do:<\/p>\n<ul>\n<li>uproszczenia skomplikowanych zapyta\u0144,<\/li>\n<li>ograniczenia dost\u0119pu do danych (np. ukrycia niekt\u00f3rych kolumn),<\/li>\n<li>zwi\u0119kszenia przejrzysto\u015bci kodu.<\/li>\n<\/ul>\n<h3><strong>2. Tworzenie widoku<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">CREATE VIEW nazwa_widoku AS\nSELECT kolumny\nFROM tabela\nWHERE warunki;<\/code><\/pre>\n<p>Przyk\u0142ad:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">CREATE VIEW aktywni_klienci AS\nSELECT imie, nazwisko, data_rejestracji\nFROM klienci\nWHERE status = &#039;aktywny&#039;;<\/code><\/pre>\n<h3><strong>3. Przegl\u0105danie widoku<\/strong><\/h3>\n<p>Widok dzia\u0142a jak tabela, wi\u0119c mo\u017cemy:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">SELECT * FROM aktywni_klienci;<\/code><\/pre>\n<h3><strong>4. Usuwanie widoku<\/strong><\/h3>\n<pre><code class=\"lang-sql language-sql sql\">DROP VIEW aktywni_klienci;<\/code><\/pre>\n<h3><strong>5. Modyfikowanie widoku<\/strong><\/h3>\n<p>MySQL nie obs\u0142uguje <code>ALTER VIEW<\/code> w ka\u017cdej wersji, dlatego modyfikuje si\u0119 widok przez ponowne jego stworzenie:<\/p>\n<pre><code class=\"lang-sql language-sql sql\">CREATE OR REPLACE VIEW aktywni_klienci AS\nSELECT imie, nazwisko\nFROM klienci\nWHERE status = &#039;aktywny&#039;;<\/code><\/pre>\n<hr \/>\n<h2><strong>\u0106wiczenia praktyczne<\/strong><\/h2>\n<p><strong>\u0106wiczenie 1:<\/strong><br \/>\nUtw\u00f3rz widok <code>drogie_produkty<\/code>, kt\u00f3ry zawiera wszystkie produkty o cenie powy\u017cej 1000.<\/p>\n<p><strong>\u0106wiczenie 2:<\/strong><br \/>\nUtw\u00f3rz widok <code>produkty_magazyn<\/code>, kt\u00f3ry pokazuje <code>nazwa<\/code>, <code>kategoria<\/code> i <code>ilosc_magazynowa<\/code> tylko dla produkt\u00f3w z ilo\u015bci\u0105 wi\u0119ksz\u0105 ni\u017c 10.<\/p>\n<p><strong>\u0106wiczenie 3:<\/strong><br \/>\nUtw\u00f3rz widok <code>klienci_data<\/code>, kt\u00f3ry zawiera <code>imie<\/code>, <code>nazwisko<\/code> i <code>data_rejestracji<\/code> klient\u00f3w zarejestrowanych po 1 stycznia 2024.<\/p>\n<p><strong>\u0106wiczenie 4:<\/strong><br \/>\nUtw\u00f3rz widok <code>zamowienia_klientow<\/code>, kt\u00f3ry \u0142\u0105czy tabele <code>klienci<\/code> i <code>zamowienia<\/code> i pokazuje: <code>imie<\/code>, <code>nazwisko<\/code>, <code>data_zamowienia<\/code>, <code>wartosc_zamowienia<\/code>.<\/p>\n<p><strong>\u0106wiczenie 5:<\/strong><br \/>\nUtw\u00f3rz widok <code>elektronika<\/code>, kt\u00f3ry zawiera wszystkie produkty z kategorii 'Elektronika&#8217;.<\/p>\n<p><strong>\u0106wiczenie 6:<\/strong><br \/>\nUtw\u00f3rz widok <code>sumy_zamowien<\/code>, kt\u00f3ry grupuje zam\u00f3wienia po kliencie i pokazuje <code>id_klient<\/code> oraz sum\u0119 wszystkich jego zam\u00f3wie\u0144.<\/p>\n<p><strong>\u0106wiczenie 7:<\/strong><br \/>\nStw\u00f3rz widok <code>nowi_klienci<\/code>, kt\u00f3ry zawiera klient\u00f3w zarejestrowanych w ci\u0105gu ostatnich 30 dni (u\u017cyj <code>CURDATE()<\/code>).<\/p>\n<p><strong>\u0106wiczenie 8:<\/strong><br \/>\nZmie\u0144 widok <code>drogie_produkty<\/code>, aby zawiera\u0142 tylko produkty powy\u017cej 2000 z\u0142 (u\u017cyj <code>CREATE OR REPLACE<\/code>).<\/p>\n<p><strong>\u0106wiczenie 9:<\/strong><br \/>\nUsu\u0144 widok <code>produkty_magazyn<\/code>.<\/p>\n<p><strong>\u0106wiczenie 10:<\/strong><br \/>\nUtw\u00f3rz widok <code>klienci_zamowienia<\/code>, kt\u00f3ry pokazuje tylko tych klient\u00f3w, kt\u00f3rzy z\u0142o\u017cyli co najmniej jedno zam\u00f3wienie (u\u017cyj <code>INNER JOIN<\/code>).<\/p>\n<hr \/>","protected":false},"excerpt":{"rendered":"<p>SELECT 1. Podstawowa sk\u0142adnia SELECT SELECT kolumna1, kolumna2 FROM nazwa_tabeli WHERE warunek ORDER BY kolumna; SELECT \u2014 wybiera kolumny do wy\u015bwietlenia, FROM \u2014 wskazuje tabel\u0119, z kt\u00f3rej pobieramy dane, WHERE \u2014 warunek filtrowania danych, ORDER BY \u2014 sortowanie wynik\u00f3w. 2. INNER JOIN \u2013 \u0142\u0105czenie tabel SELECT a.kolumna, b.kolumna FROM tabela_a a INNER JOIN tabela_b b [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[31],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-ez-inf03","tag-ez-inf03"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski\" \/>\n<meta property=\"og:description\" content=\"SELECT 1. Podstawowa sk\u0142adnia SELECT SELECT kolumna1, kolumna2 FROM nazwa_tabeli WHERE warunek ORDER BY kolumna; SELECT \u2014 wybiera kolumny do wy\u015bwietlenia, FROM \u2014 wskazuje tabel\u0119, z kt\u00f3rej pobieramy dane, WHERE \u2014 warunek filtrowania danych, ORDER BY \u2014 sortowanie wynik\u00f3w. 2. INNER JOIN \u2013 \u0142\u0105czenie tabel SELECT a.kolumna, b.kolumna FROM tabela_a a INNER JOIN tabela_b b [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomasz Sadowski\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-29T06:07:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-06T15:06:58+00:00\" \/>\n<meta name=\"author\" content=\"tomek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"tomek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/\"},\"author\":{\"name\":\"tomek\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"headline\":\"Powt\u00f3rzenie zagadnie\u0144 z MySQL\",\"datePublished\":\"2025-04-29T06:07:54+00:00\",\"dateModified\":\"2025-11-06T15:06:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/\"},\"wordCount\":2374,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"keywords\":[\"EZ INF03\"],\"articleSection\":[\"EZ INF03\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/\",\"name\":\"Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\"},\"datePublished\":\"2025-04-29T06:07:54+00:00\",\"dateModified\":\"2025-11-06T15:06:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/04\\\/29\\\/powtorzenie-zagadnien-z-mysql-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Powt\u00f3rzenie zagadnie\u0144 z MySQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\",\"name\":\"Tomasz Sadowski Zaj\u0119cia\",\"description\":\"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego\",\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\",\"name\":\"tomek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"caption\":\"tomek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/zajecia.tsadowski.pl\"],\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/","og_locale":"pl_PL","og_type":"article","og_title":"Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski","og_description":"SELECT 1. Podstawowa sk\u0142adnia SELECT SELECT kolumna1, kolumna2 FROM nazwa_tabeli WHERE warunek ORDER BY kolumna; SELECT \u2014 wybiera kolumny do wy\u015bwietlenia, FROM \u2014 wskazuje tabel\u0119, z kt\u00f3rej pobieramy dane, WHERE \u2014 warunek filtrowania danych, ORDER BY \u2014 sortowanie wynik\u00f3w. 2. INNER JOIN \u2013 \u0142\u0105czenie tabel SELECT a.kolumna, b.kolumna FROM tabela_a a INNER JOIN tabela_b b [&hellip;]","og_url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/","og_site_name":"Tomasz Sadowski","article_published_time":"2025-04-29T06:07:54+00:00","article_modified_time":"2025-11-06T15:06:58+00:00","author":"tomek","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"tomek","Szacowany czas czytania":"14 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/#article","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/"},"author":{"name":"tomek","@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"headline":"Powt\u00f3rzenie zagadnie\u0144 z MySQL","datePublished":"2025-04-29T06:07:54+00:00","dateModified":"2025-11-06T15:06:58+00:00","mainEntityOfPage":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/"},"wordCount":2374,"commentCount":0,"publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"keywords":["EZ INF03"],"articleSection":["EZ INF03"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/","url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/","name":"Powt\u00f3rzenie zagadnie\u0144 z MySQL - Tomasz Sadowski","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/#website"},"datePublished":"2025-04-29T06:07:54+00:00","dateModified":"2025-11-06T15:06:58+00:00","breadcrumb":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/04\/29\/powtorzenie-zagadnien-z-mysql-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/zajecia.tsadowski.pl\/"},{"@type":"ListItem","position":2,"name":"Powt\u00f3rzenie zagadnie\u0144 z MySQL"}]},{"@type":"WebSite","@id":"https:\/\/zajecia.tsadowski.pl\/#website","url":"https:\/\/zajecia.tsadowski.pl\/","name":"Tomasz Sadowski Zaj\u0119cia","description":"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego","publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zajecia.tsadowski.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":["Person","Organization"],"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c","name":"tomek","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","caption":"tomek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g"},"sameAs":["https:\/\/zajecia.tsadowski.pl"],"url":"https:\/\/zajecia.tsadowski.pl\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":4,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions\/155"}],"wp:attachment":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}