MySQL je běžný a široce volený systém správy relačních databází s otevřeným zdrojovým kódem (RDBMS). V tomto článku probíráme příkazy MySQL a nabízíme cheat sheet s běžnými dotazy MySQL, který uživatelům pomůže pracovat s MySQL efektivněji a efektivněji.
Co je databáze MySQL?
MySQL je open-source RDBMS vyvinutý společností Oracle Corporation. Původně jej vyvinula a vydala švédská společnost MySQL AB 23. května 1995.
MySQL funguje dobře a je spolehlivá s aplikacemi business intelligence (BI), zejména aplikacemi BI náročnými na čtení. MySQL a InnoDB společně poskytují skvělé rychlosti čtení/zápisu pro scénáře OLTP a dobře fungují se scénáři s vysokou souběžností. MySQL navíc nabízí dvě různé edice, open-source MySQL Community Server a Proprietary Enterprise Server.
MySQL funguje na mnoha systémových platformách, včetně Linuxu, Windows, macOS a tak dále. Je to také jeden z nejstabilnějších systémů pro správu databází a některé cloudové platformy jej nabízejí „jako službu“. Mezi cloudové služby MySQL patří Oracle MySQL Cloud Service, Amazon Relational Database Service a Azure Database for MySQL.
Příkazy MySQL
MySQL používá příkazy ke komunikaci s databází MySQL vytvářením dotazů s daty a prováděním specifických úkolů a funkcí. Příkazy jsou instrukce zakódované do příkazů SQL (strukturovaný dotazovací jazyk). Napsání dotazu vyžaduje sadu předdefinovaného kódu, který je srozumitelný pro databázi.
MySQL podporuje všechny standardní typy dat SQL v několika kategoriích včetně Numerických , Datum a čas , Řetězec a Prostorové typy dat. Mezi datové typy řetězce patří Řetězec znaků a Bajtový řetězec . MySQL také implementuje prostorová rozšíření jako podmnožinu SQL s typy geometrie prostředí podle Open Geospatial Consortium (OGC) specifikace.
MySQL Cheat Sheet
Níže jsou uvedeny některé z nejčastěji používaných příkazů a příkazů MySQL, které uživatelům pomáhají snáze a efektivněji pracovat s MySQL. V tomto článku stručně představíme nejčastěji používané příkazy – včetně příkazů klienta příkazového řádku MySQL – a příkazy pro práci s databázemi, tabulkami, indexy, pohledy, spouštěči, procedurami a funkcemi.
Příkazy klienta příkazového řádku MySQL
Níže je uveden seznam příkazů klienta příkazového řádku MySQL:
mysql -u [username] -p; # Connect to MySQL server mysql -u [username] -p [database]; # Connect to MySQL Server exit; # Exit mysql command-line client mysqldump -u [username] -p [database] > data_backup.sql; # Export data using mysqldump tool mysql> system clear; # Clear MySQL screen console for Linux
Klientské příkazy příkazového řádku MySQL jsou k dispozici v systému Linux pro vymazání okna konzoly obrazovky MySQL a v operačním systému Windows nejsou k dispozici žádné příkazy klienta.
Příkazy MySQL pro práci s databázemi
Níže jsou uvedeny příkazy MySQL používané pro práci s databázemi:
CREATE DATABASE [IF NOT EXISTS] database_name; # Create a database in the server SHOW DATABASE; # Show all available databases USE database_name; # Use a database with a specified name DROP DATABASE [IF EXISTS] database_name; # Drop a database with a specified name
Příkazy MySQL pro práci s tabulkami
Zde jsou příkazy MySQL pro práci s tabulkami v databázi:
CREATE TABLE [IF NOT EXISTS] table_name(column_list,...); # Create a new table SHOW TABLES; # Show all tables in the database DROP TABLE [IF EXISTS] table_name; # Drop a table from the database
Běžně používané příkazy MySQL
Níže je uveden seznam nejčastěji používaných příkazů MySQL pro vývojáře databází a správce databází používající databáze MySQL:
ALTER
ALTER TABLE table_name ADD [COLUMN] column_name; ALTER TABLE table_name DROP [COLUMN] column_name; ALTER TABLE table_name MODIFY column_name type; ALTER TABLE table_name MODIFY column_name type NOT NULL ...; ALTER TABLE table_name CHANGE old_column_name new_column_name type; ALTER TABLE table_name CHANGE old_column_name new_column_name type NOT NULL ...; ALTER TABLE table_name MODIFY column_name type FIRST; ALTER TABLE table_name MODIFY column_name type AFTER another_column; ALTER TABLE table_name CHANGE old_column_name new_column_name type FIRST; ALTER TABLE table_name CHANGE old_column_name new_column_name type AFTER another_column; ALTER TABLE table_name ALTER column_name SET DEFAULT ...; ALTER TABLE table_name ALTER column_name DROP DEFAULT; ALTER TABLE table_name ADD new_column_name type; ALTER TABLE table_name ADD new_column_name type FIRST; ALTER TABLE table_name ADD new_column_name type AFTER another_column; ALTER TABLE table_name ADD INDEX [name](column, ...); ALTER TABLE table_name ADD PRIMARY KEY (column_name,...); ALTER TABLE table_name DROP PRIMARY KEY;
VYBRAT
SELECT * FROM table_name; SELECT * FROM table1, table2, …; SELECT column_name FROM table_name; SELECT column1, column2, ... FROM table_name; SELECT column1, column2, ... FROM table1, table2, …; SELECT select_list FROM table_name WHERE condition; SELECT select_list FROM table GROUP BY column1, column2, ...; SELECT select_list FROM table GROUP BY column_name HAVING condition; SELECT COUNT(*) FROM table_name; SELECT DISTINCT (column_name) FROM table_name; SELECT select_list FROM table ORDER BY column_name; SELECT select_list FROM table ORDER BY column1 ASC [DESC], column2 ASC [DESC]; SELECT column_name AS alias_name, expression AS alias, ... FROM table_name; SELECT select_list FROM table_name WHERE column LIKE '%pattern%'; SELECT select_list FROM table_name WHERE column RLIKE 'regular_expression';
VYBRAT – PŘIPOJIT SE
SELECT select_list FROM table1 INNER JOIN table2 ON condition; SELECT select_list FROM table1 LEFT JOIN table2 ON condition; SELECT select_list FROM table1 RIGHT JOIN table2 ON condition; SELECT select_list FROM table1 CROSS JOIN table2;
POPIŠTE
DESCRIBE table_name; DESCRIBE table_name column_name;
VLOŽIT DO
INSERT INTO table (column_list) VALUES(value_list); INSERT INTO table (column_list) VALUES(list1), (list2), ...;
AKTUALIZACE
UPDATE table_name SET column1 = value1, ...; UPDATE table_name SET column_1 = value_1, ... WHERE condition; UPDATE table1, table2 INNER JOIN table1 ON table1.column1 = table2.column2 SET column1 = value1, WHERE condition;
SMAZAT
DELETE FROM table_name; DELETE FROM table_name WHERE condition; DELETE table1, table2 FROM table1 INNER JOIN table2 ON table1.column1= table2.column2 WHERE condition;
INDEX
CREATE INDEX index_name ON table_name (column,...); DROP INDEX index_name; CREATE UNIQUE INDEX index_name ON table_name (column,...);
ZOBRAZIT
CREATE VIEW [IF NOT EXISTS] view_name AS select_statement; CREATE VIEW [IF NOT EXISTS] view_name AS select_statement WITH CHECK OPTION; CREATE OR REPLACE view_name AS select_statement; DROP VIEW [IF EXISTS] view_name; DROP VIEW [IF EXISTS] view1, view2, ...; RENAME TABLE view_name TO new_view_name; SHOW FULL TABLES [{FROM | IN } database_name] WHERE table_type = 'VIEW';
TRIGGER
CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE| DELETE } ON table_name FOR EACH ROW trigger_body; SHOW TRIGGERS [{FROM | IN} database_name] [LIKE 'pattern' | WHERE search_condition]; DROP TRIGGER [IF EXISTS] trigger_name;
POSTUP
DELIMITER $$ CREATE PROCEDURE procedure_name (parameter_list) BEGIN body; END $$ DELIMITER; DROP PROCEDURE [IF EXISTS] procedure_name; SHOW PROCEDURE STATUS [LIKE 'pattern' | WHERE search_condition];
FUNKCE
DELIMITER $$ CREATE FUNCTION function_name(parameter_list) RETURNS datatype [NOT] DETERMINISTIC BEGIN -- statements END $$ DELIMITER; DROP FUNCTION [IF EXISTS] function_name; SHOW FUNCTION STATUS [LIKE 'pattern' | WHERE search_condition];
Uživatelé a oprávnění
CREATE USER 'user'@'localhost'; GRANT ALL PRIVILEGES ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, DELETE ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; REVOKE ALL PRIVILEGES ON base.* FROM 'user'@'host'; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host'; FLUSH PRIVILEGES; SET PASSWORD = PASSWORD('new_pass'); SET PASSWORD FOR 'user'@'host' = PASSWORD('new_pass'); SET PASSWORD = OLD_PASSWORD('new_pass'); DROP USER 'user'@'host';
Závěr Cheat Sheetu MySQL
MySQL má pověst extrémně rychlé databáze pro zátěže náročné na čtení a je skvělá v procesech s vysokou zátěží. Cheat sheet MySQL obsahuje nejběžněji používané příkazy a příkazy, které uživatelům databáze MySQL pomáhají spravovat ji efektivněji a snadněji.