- 1 1. Úvod
- 2 2. Základní operace s MySQL (pro začátečníky)
- 3 3. Operace s databází
- 4 4. Operace s tabulkami
- 4.1 4.1 Creating a Table
- 4.2 4.1 Vytvoření tabulky
- 4.3 4.2 Checking Table Structure
- 4.4 4.2 Kontrola struktury tabulky
- 4.5 4.3 Listing Tables
- 4.6 4.3 Výpis tabulek
- 4.7 4.4 Deleting a Table
- 4.8 4.4 Mazání tabulky
- 4.9 4.5 Resetting Table Data (Delete All Rows)
- 4.10 4.5 Resetování dat v tabulce (smazání všech řádků)
- 4.11 4.6 Common Errors and Fixes
- 4.12 4.6 Běžné chyby a opravy
- 4.13 4.7 Shrnutí
1. Úvod
MySQL je široce používaná open-source relační databáze mezi systémy pro správu databází (DBMS). Je zvláště populární pro webové aplikace a podnikovou sféru. V tomto článku podrobně vysvětlíme základní příkazy MySQL a uspořádáme obsah tak, aby se začátečníci i středně pokročilí uživatelé mohli plynule učit.
1.1 Co je MySQL?
MySQL je software používaný k správě relační databáze (RDB). Data jsou uložena v tabulkách a manipulujete s nimi pomocí SQL (Structured Query Language). MySQL má následující charakteristiky:
- Open-source a zdarma pro každého
- Rychlý a lehký výkon
- Kompatibilní s mnoha programovacími jazyky (např. PHP, Python a Java)
- Vhodný pro provoz velkých databází
1.2 Výhody učení příkazů MySQL
Pro efektivní používání MySQL je důležité pochopit základní příkazy. Klíčové výhody zahrnují:
- Efektivnější správa dat: Ovládnutí SQL příkazů vám umožní rychle načítat, aktualizovat a mazat data
- Automatizace pracovních postupů: Používání skriptů umožňuje automatizovat operace s databází
- Plynulejší řešení chyb: Když nastanou problémy, můžete je vyřešit pomocí vhodných SQL příkazů
1.3 Co se v tomto článku naučíte
Tento článek podrobně vysvětluje následující témata:
- Základní operace s MySQL (spouštění, připojování a operace s databází)
- Přidávání, načítání, aktualizace a mazání dat (operace CRUD)
- Správa uživatelů a nastavení oprávnění
- Užitečné příkazy a řešení problémů
Dále projdeme jednotlivé sekce postupně. Začneme základními operacemi s MySQL.
2. Základní operace s MySQL (pro začátečníky)
2.1 Spouštění a připojování k MySQL
2.1.1 Spouštění MySQL
Protože MySQL běží jako serverový program, musíte nejprve spustit server. Způsob spuštění se liší podle operačního systému.
Spouštění na Linuxu / macOS
Na Linuxu a macOS můžete MySQL spustit pomocí příkazu systemctl.
sudo systemctl start mysql
Zkontrolujte, zda MySQL běží
sudo systemctl status mysql
Pokud vidíte „active (running)“, MySQL běží normálně.
Spouštění ve Windows
Ve Windows je MySQL často provozováno jako služba, takže můžete použít příkaz net start.
net start mysql
Nebo, pokud používáte XAMPP, otevřete XAMPP Control Panel a klikněte na „Start“ u „MySQL“.
2.1.2 Připojování k MySQL
Pro připojení k MySQL použijte příkaz mysql. Základní příkaz pro připojení je následující:
mysql -u username -p
Připojení jako uživatel root
Ve výchozím nastavení je uživatel root nakonfigurován jako administrátor. Připojit se můžete následujícím příkazem:
mysql -u root -p
Po stisknutí Enter budete vyzváni k zadání hesla. Pokud zadáte správné heslo, můžete se přihlásit do MySQL.
Připojení ke konkrétnímu hostiteli
Pro připojení k vzdálenému MySQL serveru použijte volbu -h.
mysql -h hostname -u username -p
Například pro připojení k MySQL serveru na adrese 192.168.1.100 napište:
mysql -h 192.168.1.100 -u root -p
Připojení zadáním čísla portu
Výchozí port MySQL je 3306. Pokud byl změněn, můžete jej specifikovat volbou -P.
mysql -h 192.168.1.100 -P 3307 -u root -p
2.2 Základní příkazy MySQL
Jakmile jste připojeni k MySQL, vyzkoušejte některé základní příkazy.
2.2.1 Zkontrolujte verzi MySQL
Pro zjištění verze MySQL, kterou aktuálně používáte, spusťte následující příkaz:
SELECT VERSION();
2.2.2 Zkontrolujte aktuální databázi
Pro zjištění, která databáze je aktuálně vybrána, spusťte:
SELECT DATABASE();
Pokud není vybrána žádná databáze, vrátí se NULL.
2.2.3 Vylistujte dostupné databáze
Pro vypsání databází, které v MySQL existují, použijte:
SHOW DATABASES;
2.3 Běžné chyby a opravy
2.3.1 Chyba „Access denied“
Příklad chyby:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Jak opravit:
- Ověřte, že heslo je správné
- Zkontrolujte a resetujte oprávnění
rootALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD'; FLUSH PRIVILEGES;
2.3.2 Chyba „Nelze se připojit k MySQL serveru na ‘localhost’“
Příklad chyby:
ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
Jak opravit:
- Zkontrolujte, zda MySQL běží (
systemctl status mysql) - Restartujte MySQL
sudo systemctl restart mysql
2.4 Shrnutí
V této sekci jsme vysvětlili, jak spustit MySQL a připojit se k ní.
3. Operace s databází
V MySQL vytvoříte databázi pro správu dat a poté organizujete informace umístěním tabulek uvnitř ní. V této sekci podrobně vysvětlíme základní operace, jako je vytváření, výběr, výpis a mazání databází.
3.1 Vytvoření databáze
Pro vytvoření databáze v MySQL použijte příkaz CREATE DATABASE.
3.1.1 Vytvoření základní databáze
Pokud spustíte následující SQL příkaz, vytvoříte novou databázi s názvem my_database.
CREATE DATABASE my_database;
Zpráva při úspěšném vytvoření
Query OK, 1 row affected (0.01 sec)
3.1.2 Pokus o vytvoření databáze, která již existuje
Pokud databáze již existuje, zobrazí se chyba podobná následující:
ERROR 1007 (HY000): Can't create database 'my_database'; database exists
Aby se tato chyba předešla, je užitečné přidat volbu IF NOT EXISTS.
CREATE DATABASE IF NOT EXISTS my_database;
Když spustíte tento příkaz, databáze se vytvoří pouze v případě, že ještě neexistuje.
3.2 Výpis databází
Pro zjištění, které databáze existují na aktuálním MySQL serveru, použijte příkaz SHOW DATABASES.
SHOW DATABASES;
Příklad výstupu:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
Poznámka: Systémové databáze jako mysql a information_schema jsou vyžadovány pro správu MySQL.
3.3 Výběr databáze
V MySQL musíte vybrat databázi, kterou chcete používat. Pro specifikaci databáze spusťte příkaz USE.
USE my_database;
Zpráva při úspěchu
Database changed
Pro potvrzení, která databáze je aktuálně vybrána, použijte následující příkaz:
SELECT DATABASE();
Příklad výstupu:
+------------+
| DATABASE() |
+------------+
| my_database |
+------------+
3.4 Smazání databáze
Pro smazání databáze, kterou již nepotřebujete, použijte příkaz DROP DATABASE.
DROP DATABASE my_database;
3.4.1 Důležité poznámky před smazáním
- Buďte opatrní: smazání databáze odstraní všechna data!
- Pro zamezení neúmyslných chyb můžete také přidat
IF EXISTS.DROP DATABASE IF EXISTS my_database;
Tento příkaz skončí bez chyby i v případě, že my_database neexistuje.
3.5 Časté chyby a opravy
3.5.1 Chyba „Access denied for user“
Příklad chyby:
ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
Jak opravit
- Udělte oprávnění pomocí příkazu
GRANTGRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
3.5.2 Chyba „Can’t drop database“
Příklad chyby:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
Jak opravit
- Restartujte MySQL
sudo systemctl restart mysql
- Nejprve odstraňte všechny tabulky v
my_database, poté spusťteDROP DATABASE.
3.6 Shrnutí
V této sekci jste se naučili, jak vytvářet, vybírat, vypisovat a mazat databáze.
4. Operace s tabulkami
After creating a database, you need to create tables inside it to organize data. A table is like a grid for storing data, consisting of columns and rows (records).
Po vytvoření databáze musíte v ní vytvořit tabulky, abyste uspořádali data. Tabulka je jako mřížka pro ukládání dat, skládající se ze sloupců a řádků (záznamů).
In this section, we will explain basic operations such as creating, checking, listing, and deleting tables in detail.
V této sekci podrobně vysvětlíme základní operace, jako je vytváření, kontrola, výpis a mazání tabulek.
4.1 Creating a Table
4.1 Vytvoření tabulky
To create a table, use the CREATE TABLE command. If you run the following SQL, it creates a table named users.
Pro vytvoření tabulky použijte příkaz CREATE TABLE. Pokud spustíte následující SQL, vytvoří se tabulka s názvem users.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.1.1 Explanation of each element when creating a table
4.1.1 Vysvětlení každého prvku při vytváření tabulky
id INT AUTO_INCREMENT PRIMARY KEY- Sloupec
idje celé číslo (INT), automaticky se zvyšuje (AUTO_INCREMENT) a je nastaven jako primární klíč (PRIMARY KEY). name VARCHAR(50) NOT NULL- Sloupec
nameje řetězec (VARCHAR) až do 50 znaků a je povinný díkyNOT NULL. email VARCHAR(100) UNIQUE NOT NULL- Sloupec
emailje řetězec až do 100 znaků a omezeníUNIQUEzabraňuje duplicitním e‑mailovým adresám. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP- Sloupec
created_atautomaticky nastaví aktuální datum/čas jako výchozí hodnotu.
Message when successful
Zpráva při úspěchu
Query OK, 0 rows affected (0.02 sec)
4.2 Checking Table Structure
4.2 Kontrola struktury tabulky
To check the structure of a table you created, use DESC or SHOW COLUMNS.
Pro kontrolu struktury vytvořené tabulky použijte DESC nebo SHOW COLUMNS.
DESC users;
Or Nebo
SHOW COLUMNS FROM users;
Example output: Příklad výstupu:
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | UNI | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4.3 Listing Tables
4.3 Výpis tabulek
To list the tables that exist in the current database, run the SHOW TABLES command.
Pro výpis tabulek, které existují v aktuální databázi, spusťte příkaz SHOW TABLES.
SHOW TABLES;
Example output: Příklad výstupu:
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
| orders |
+------------------+
4.4 Deleting a Table
4.4 Mazání tabulky
To delete a table you no longer need, use the DROP TABLE command.
Pro smazání tabulky, kterou již nepotřebujete, použijte příkaz DROP TABLE.
DROP TABLE users;
4.4.1 Important notes when deleting a table
4.4.1 Důležité poznámky při mazání tabulky
- Be careful: deleting a table permanently removes the data! Buďte opatrní: smazání tabulky trvale odstraní data!
- To avoid errors when deleting, add
IF EXISTS. Aby se předešlo chybám při mazání, přidejteIF EXISTS.DROP TABLE IF EXISTS users;
Message when successful
Zpráva při úspěchu
Query OK, 0 rows affected (0.01 sec)
4.5 Resetting Table Data (Delete All Rows)
4.5 Resetování dat v tabulce (smazání všech řádků)
If you want to keep the table structure but delete only the data inside, use TRUNCATE TABLE.
Pokud chcete zachovat strukturu tabulky, ale smazat pouze data uvnitř, použijte TRUNCATE TABLE.
TRUNCATE TABLE users;
Difference from DROP TABLE
Rozdíl od DROP TABLE
DROP TABLEdeletes the table itself.DROP TABLEsmaže samotnou tabulku.TRUNCATE TABLEdeletes only the data and keeps the table structure.TRUNCATE TABLEsmaže pouze data a zachová strukturu tabulky.
4.6 Common Errors and Fixes
4.6 Běžné chyby a opravy
4.6.1 “Table already exists” error
4.6.1 Chyba „Tabulka již existuje“
Example error: Příklad chyby:
ERROR 1050 (42S01): Table 'users' already exists
How to fix
Jak opravit
- Check existing tables
- Zkontrolujte existující tabulky
SHOW TABLES;
- Create the table with
IF NOT EXISTS - Vytvořte tabulku s
IF NOT EXISTSCREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.6.2 “Unknown table” error
4.6.2 Chyba „Neznámá tabulka“
Example error: Příklad chyby:
ERROR 1051 (42S02): Unknown table 'users'
How to fix
Jak opravit
- Zkontrolujte, zda tabulka existuje, pomocí
SHOW TABLES; - Pokud neexistuje, přidejte
IF EXISTSDROP TABLE IF EXISTS users;
4.7 Shrnutí
V této sekci jsme pokryli základní operace s tabulkami v MySQL: vytváření, kontrolu a mazání tabulek.


