MySQL è un sistema di gestione di database relazionali (RDBMS) open source comune e ampiamente scelto. In questo articolo, discutiamo dei comandi MySQL e offriamo un cheat sheet di query MySQL comuni per aiutare gli utenti a lavorare con MySQL in modo più efficiente ed efficace.
Cos'è il database MySQL?
MySQL è un RDBMS open source sviluppato da Oracle Corporation. È stato originariamente sviluppato e rilasciato dalla società svedese MySQL AB il 23 maggio 1995.
MySQL funziona bene ed è affidabile con le applicazioni di business intelligence (BI), in particolare le applicazioni di BI ad elevato carico di lettura. MySQL e InnoDB insieme forniscono ottime velocità di lettura/scrittura per scenari OLTP e funzionano bene con scenari ad alta concorrenza. Inoltre, MySQL offre due diverse edizioni, MySQL Community Server open source e Server Enterprise proprietario.
MySQL funziona su molte piattaforme di sistema, inclusi Linux, Windows, macOS e così via. È anche uno dei sistemi di gestione dei database più stabili e alcune piattaforme cloud lo offrono "come servizio". I servizi MySQL basati su cloud includono Oracle MySQL Cloud Service, Amazon Relational Database Service e Database di Azure per MySQL.
Comandi MySQL
MySQL utilizza i comandi per comunicare con il database MySQL creando query con dati ed eseguendo attività e funzioni specifiche. I comandi sono istruzioni codificate in istruzioni SQL (linguaggio di query strutturato). Per scrivere una query è necessario un insieme di codice predefinito comprensibile al database.
MySQL supporta tutti i tipi di dati standard SQL in diverse categorie tra cui Numerico , Data e ora , Stringa e Spaziale tipi di dati. I tipi di dati stringa includono Stringa di caratteri e Stringa di byte . MySQL implementa anche le estensioni spaziali come sottoinsieme di SQL con Tipi di geometria ambiente seguendo il Open Geospatial Consortium (OGC) specifica.
Cheat Sheet di MySQL
Di seguito sono riportati alcuni dei comandi e delle istruzioni MySQL più comunemente utilizzati che aiutano gli utenti a lavorare con MySQL in modo più semplice ed efficace. In questo articolo presentiamo brevemente i comandi più comunemente usati, inclusi i comandi client della riga di comando MySQL, ei comandi per lavorare con database, tabelle, indici, viste, trigger, procedure e funzioni.
Comandi client della riga di comando MySQL
Di seguito è riportato un elenco di comandi client MySQL da riga di comando:
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
I comandi client della riga di comando MySQL sono disponibili su Linux per cancellare la finestra della console dello schermo MySQL e non è disponibile alcun comando client sul sistema operativo Windows.
Comandi MySQL per lavorare con i database
Di seguito sono riportati i comandi MySQL utilizzati per lavorare con i database:
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
Comandi MySQL per lavorare con le tabelle
Ecco i comandi MySQL per lavorare con le tabelle in un database:
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
Comandi MySQL di uso comune
Di seguito è riportato un elenco dei comandi MySQL più comunemente utilizzati dagli sviluppatori di database e dagli amministratori di database che utilizzano i database 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;
SELEZIONA
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';
SELEZIONA – UNISCITI
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;
DESCRIVERE
DESCRIBE table_name; DESCRIBE table_name column_name;
INSERISCI IN
INSERT INTO table (column_list) VALUES(value_list); INSERT INTO table (column_list) VALUES(list1), (list2), ...;
AGGIORNAMENTO
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;
ELIMINA
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;
INDICE
CREATE INDEX index_name ON table_name (column,...); DROP INDEX index_name; CREATE UNIQUE INDEX index_name ON table_name (column,...);
VISUALIZZA
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';
GRIGGER
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;
PROCEDURA
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];
FUNZIONE
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];
Utenti e privilegi
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';
Conclusione del Cheat Sheet di MySQL
MySQL ha la reputazione di essere un database estremamente veloce per carichi di lavoro di lettura pesante ed è ottimo per i processi di lettura pesante. Il cheat sheet di MySQL include i comandi e le istruzioni più comunemente usati per aiutare gli utenti del database MySQL a gestirlo in modo più efficace e semplice.