{"id":455,"date":"2024-04-15T07:22:34","date_gmt":"2024-04-15T05:22:34","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=455"},"modified":"2024-04-29T09:22:14","modified_gmt":"2024-04-29T07:22:14","slug":"cvicenie-c-17-praca-s-databazami-mysql-ii","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=455","title":{"rendered":"Cvi\u010denie \u010d.17 &#8211; Pr\u00e1ca s datab\u00e1zami MySQL II."},"content":{"rendered":"<h3>T\u00e9ma: Pr\u00e1ca s MySQL datab\u00e1zami II.<\/h3>\n<h3>\u00daloha: Vysk\u00fa\u0161ajte skripty pomocou ktor\u00fdch vytvor\u00edte nov\u00fa tabu\u013eku vo vytvorenej datab\u00e1ze, prid\u00e1te z\u00e1znamy a skontrolujete tabu\u013eky v datab\u00e1ze. Skripty bud\u00fa ulo\u017een\u00e9 v s\u00faboroch s n\u00e1zvom: vytvor_table.php, pridaj_zaznam.php, viac_zaznamov.php a vypis_zaznamov.php.<\/h3>\n<h3>Podmienky: Vytvoren\u00e9 s\u00fabory so skriptami umiestnite na svoj blog v polo\u017eke PHP \u201eZadanie \u010d.16 Pr\u00e1ca s MySQL datab\u00e1zami II.\u201c<\/h3>\n<h3>Te\u00f3ria :<\/h3>\n<p>Medzi jednu z najv\u00e4\u010d\u0161\u00edch v\u00fdhod datab\u00e1z patr\u00ed to, \u017ee k d\u00e1tam v nich ulo\u017een\u00fdm je mo\u017en\u00e9 pristupova\u0165 z mnoh\u00fdch r\u00f4znych aplik\u00e1ci\u00ed. Po pripojen\u00ed datab\u00e1zy m\u00f4\u017eeme vytvori\u0165 tabu\u013eku a naplni\u0165 ju \u00fadajmi, pr\u00edpadne na\u010d\u00edtava\u0165 alebo meni\u0165 obsah tabuliek.<\/p>\n<p class=\"intro\">Datab\u00e1zov\u00e1 tabu\u013eka m\u00e1 svoj vlastn\u00fd jedine\u010dn\u00fd n\u00e1zov a sklad\u00e1 sa zo st\u013apcov a riadkov.<\/p>\n<hr \/>\n<h3>Vytvorenie tabu\u013eky MySQL pomocou MySQLi a PDO<\/h3>\n<p>Pr\u00edkaz CREATE TABLE sa pou\u017e\u00edva na vytvorenie tabu\u013eky v MySQL.<\/p>\n<p>Vytvor\u00edme tabu\u013eku s n\u00e1zvom &#8222;MojiHostia&#8220; s piatimi st\u013apcami: &#8222;id&#8220;, &#8222;meno&#8220;, &#8222;priezvisko&#8220;, &#8222;email&#8220; a &#8222;reg_udaje&#8220;:<\/p>\n<div class=\"w3-example\">\n<div class=\"w3-code notranslate\">CREATE TABLE MojiHostia (<br \/>\nid INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,<br \/>\nmeno VARCHAR(30) NOT NULL,<br \/>\npriezvisko VARCHAR(30) NOT NULL,<br \/>\nemail VARCHAR(50),<br \/>\nreg_udaje TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP<br \/>\n)<\/div>\n<\/div>\n<p><b>Pozn\u00e1mky k tabu\u013eke vy\u0161\u0161ie:<\/b><\/p>\n<p>Typ \u00fadajov ur\u010duje, ak\u00fd typ \u00fadajov m\u00f4\u017ee st\u013apec obsahova\u0165. \u00dapln\u00fa referenciu o v\u0161etk\u00fdch dostupn\u00fdch typoch \u00fadajov n\u00e1jdete v\u00a0 <a href=\"https:\/\/www.w3schools.com\/sql\/sql_datatypes.asp\">referencii o typoch \u00fadajov<\/a>\u00a0.<\/p>\n<p>Po type \u00fadajov m\u00f4\u017eete pre ka\u017ed\u00fd st\u013apec zada\u0165 \u010fal\u0161ie volite\u013en\u00e9 atrib\u00faty:<\/p>\n<ul>\n<li>NOT NULL \u2013 ka\u017ed\u00fd riadok mus\u00ed obsahova\u0165 hodnotu pre dan\u00fd st\u013apec, hodnoty null nie s\u00fa povolen\u00e9<\/li>\n<li>DEFAULT hodnota \u2013 nastavte predvolen\u00fa hodnotu, ktor\u00e1 sa prid\u00e1, ke\u010f sa neodovzd\u00e1 \u017eiadna in\u00e1 hodnota<\/li>\n<li>UNSIGNED &#8211; Pou\u017e\u00edva sa pre typy \u010d\u00edsel, obmedzuje ulo\u017een\u00e9 \u00fadaje na kladn\u00e9 \u010d\u00edsla a nulu<\/li>\n<li>AUTOMATICK\u00c9 ZV\u00dd\u0160ENIE \u2013 MySQL automaticky zv\u00fd\u0161i hodnotu po\u013ea o 1 pri ka\u017edom pridan\u00ed nov\u00e9ho z\u00e1znamu<\/li>\n<li>PRIM\u00c1RNY K\u013d\u00da\u010c \u2013 Pou\u017e\u00edva sa na jedine\u010dn\u00fa identifik\u00e1ciu riadkov v tabu\u013eke. St\u013apec s nastaven\u00edm PRIMARY KEY je \u010dasto ID \u010d\u00edslo a \u010dasto sa pou\u017e\u00edva s AUTO_INCREMENT<\/li>\n<\/ul>\n<p>Ka\u017ed\u00e1 tabu\u013eka by mala ma\u0165 st\u013apec prim\u00e1rneho k\u013e\u00fa\u010da (v tomto pr\u00edpade: st\u013apec \u201eid\u201c). Jeho hodnota mus\u00ed by\u0165 jedine\u010dn\u00e1 pre ka\u017ed\u00fd z\u00e1znam v tabu\u013eke.<\/p>\n<p>Nasleduj\u00face pr\u00edklady ukazuj\u00fa, ako vytvori\u0165 tabu\u013eku v PHP pomocou met\u00f3dy MySQLi:<\/p>\n<h4>Vytvorenie tabu\u013eky<\/h4>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"******\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Chyba pripojenia: \" . mysqli_connect_error());\r\n}\r\n\r\n\/\/ sql to create table\r\n$sql = \"CREATE TABLE MyGuests (\r\nid INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,\r\nfirstname VARCHAR(30) NOT NULL,\r\nlastname VARCHAR(30) NOT NULL,\r\nemail VARCHAR(50),\r\nreg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\n)\";\r\n\r\nif (mysqli_query($conn, $sql)) {\r\necho \"Tabu\u013eka MyGuests \u00faspe\u0161ne vytvoren\u00e1\";\r\n} else {\r\necho \"Chyba vytvorenia tabu\u013eky: \" . mysqli_error($conn);\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h4>Pridanie z\u00e1znamu<\/h4>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"*******\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Chyba pripojenia: \" . mysqli_connect_error());\r\n}\r\n\r\n$sql = \"INSERT INTO MyGuests (firstname, lastname, email)\r\nVALUES ('John', 'Doe', 'john@example.com')\";\r\n\r\nif (mysqli_query($conn, $sql)) {\r\necho \"Nov\u00fd z\u00e1znam \u00faspe\u0161ne pridan\u00fd.\";\r\n} else {\r\necho \"Chyba: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h4>Pridanie viac z\u00e1znamov<\/h4>\n<p>&nbsp;<\/p>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"*******\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Pripojenie zlyhalo: \" . mysqli_connect_error());\r\n}\r\n\r\n$sql = \"INSERT INTO MyGuests (firstname, lastname, email)\r\nVALUES ('John', 'Doe', 'john@example.com');\";\r\n$sql .= \"INSERT INTO MyGuests (firstname, lastname, email)\r\nVALUES ('Mary', 'Moe', 'mary@example.com');\";\r\n$sql .= \"INSERT INTO MyGuests (firstname, lastname, email)\r\nVALUES ('Julie', 'Dooley', 'julie@example.com')\";\r\n\r\nif (mysqli_multi_query($conn, $sql)) {\r\necho \"Nov\u00e9 z\u00e1znamy vytvoren\u00e9\";\r\n} else {\r\necho \"Chyba: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h4>V\u00fdpis z\u00e1znamov<\/h4>\n<p>&nbsp;<\/p>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"******\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Pripojenie zlyhalo: \" . mysqli_connect_error());\r\n}\r\n\r\n$sql = \"SELECT id, firstname, lastname FROM MyGuests\";\r\n$result = mysqli_query($conn, $sql);\r\n\r\nif (mysqli_num_rows($result) &gt; 0) {\r\n\/\/ output data of each row\r\nwhile($row = mysqli_fetch_assoc($result)) {\r\necho \"id: \" . $row[\"id\"]. \" - Name: \" . $row[\"firstname\"]. \" \" . $row[\"lastname\"]. \"&lt;br&gt;\";\r\n}\r\n} else {\r\necho \"0 results\";\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h4>Mazanie z\u00e1znamu<\/h4>\n<p>&nbsp;<\/p>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"******\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Chyba pripojenia: \" . mysqli_connect_error());\r\n}\r\n\r\n\/\/ sql to delete a record\r\n$sql = \"DELETE FROM MyGuests WHERE id=3\";\r\n\r\nif (mysqli_query($conn, $sql)) {\r\necho \"Z\u00e1znam \u00faspe\u0161ne zmazan\u00fd\";\r\n} else {\r\necho \"Chyba zmazania z\u00e1znamu: \" . mysqli_error($conn);\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h4>Zobrazenie posledn\u00e9ho z\u00e1znamu<\/h4>\n<p>&nbsp;<\/p>\n<pre>&lt;?php\r\n$servername = \"localhost\";\r\n$username = \"xxx\";\r\n$password = \"*****\";\r\n$dbname = \"myDB\";\r\n\r\n\/\/ Create connection\r\n$conn = mysqli_connect($servername, $username, $password, $dbname);\r\n\/\/ Check connection\r\nif (!$conn) {\r\ndie(\"Pripojenie zlyhalo: \" . mysqli_connect_error());\r\n}\r\n\r\n$sql = \"INSERT INTO MyGuests (firstname, lastname, email)\r\nVALUES ('John', 'Doe', 'john@example.com')\";\r\n\r\nif (mysqli_query($conn, $sql)) {\r\n$last_id = mysqli_insert_id($conn);\r\necho \"Nov\u00fd z\u00e1znam vytvoren\u00fd. Posledn\u00e9 vlo\u017een\u00e9 ID je: \" . $last_id;\r\n} else {\r\necho \"Chyba: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\r\n}\r\n\r\nmysqli_close($conn);\r\n?&gt;\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e9ma: Pr\u00e1ca s MySQL datab\u00e1zami II. \u00daloha: Vysk\u00fa\u0161ajte skripty pomocou ktor\u00fdch vytvor\u00edte nov\u00fa tabu\u013eku vo vytvorenej datab\u00e1ze, prid\u00e1te z\u00e1znamy a skontrolujete tabu\u013eky v datab\u00e1ze. Skripty bud\u00fa ulo\u017een\u00e9 v s\u00faboroch s n\u00e1zvom: vytvor_table.php, pridaj_zaznam.php, viac_zaznamov.php a vypis_zaznamov.php. Podmienky: Vytvoren\u00e9 s\u00fabory so skriptami umiestnite na svoj blog v polo\u017eke PHP \u201eZadanie \u010d.16 Pr\u00e1ca s MySQL datab\u00e1zami II.\u201c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-455","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=455"}],"version-history":[{"count":9,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/455\/revisions"}],"predecessor-version":[{"id":465,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/455\/revisions\/465"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}