MySQL is een veelgebruikt en algemeen gekozen open-source relationeel databasebeheersysteem (RDBMS). In dit artikel bespreken we MySQL-commando's en bieden we een spiekbriefje met veelvoorkomende MySQL-query's om gebruikers te helpen efficiënter en effectiever met MySQL te werken.
Wat is MySQL-database?
MySQL is een open-source RDBMS ontwikkeld door Oracle Corporation. Het werd oorspronkelijk ontwikkeld en uitgebracht door het Zweedse bedrijf MySQL AB op 23 mei 1995.
MySQL presteert goed en is betrouwbaar met business intelligence (BI)-applicaties, met name leeszware BI-applicaties. MySQL en InnoDB bieden samen geweldige lees-/schrijfsnelheden voor OLTP-scenario's en werken goed met scenario's met hoge gelijktijdigheid. Bovendien biedt MySQL twee verschillende edities, open-source MySQL Community Server en Proprietary Enterprise Server.
MySQL werkt op veel systeemplatforms, waaronder Linux, Windows, macOS, enzovoort. Het is ook een van de meest stabiele databasebeheersystemen en sommige cloudplatforms bieden het 'als een service' aan. Cloudgebaseerde MySQL-services omvatten Oracle MySQL Cloud Service, Amazon Relational Database Service en Azure Database for MySQL.
MySQL-opdrachten
MySQL gebruikt opdrachten om met de MySQL-database te communiceren door query's met gegevens te maken en specifieke taken en functies uit te voeren. De opdrachten zijn instructies die zijn gecodeerd in SQL-instructies (gestructureerde querytaal). Voor het schrijven van een query is een set vooraf gedefinieerde code vereist die begrijpelijk is voor de database.
MySQL ondersteunt alle SQL-standaard typen gegevens in verschillende categorieën, waaronder Numeriek , Datum en tijd , String , en Ruimtelijk gegevens typen. De gegevenstypen voor tekenreeksen omvatten Tekenreeks en Bytetekenreeks . MySQL implementeert ook ruimtelijke uitbreidingen als een subset van SQL met Geometry Types omgeving volgens het Open Geospatial Consortium (OGC) specificatie.
MySQL-spiekbriefje
Hieronder staan enkele van de meest gebruikte MySQL-commando's en -instructies die gebruikers helpen gemakkelijker en effectiever met MySQL te werken. In dit artikel presenteren we in het kort de meest gebruikte commando's - inclusief MySQL-opdrachtregelclientcommando's - en de commando's voor het werken met databases, tabellen, indexen, views, triggers, procedures en functies.
MySQL-opdrachtregelclientopdrachten
Hieronder vindt u een lijst met MySQL-opdrachtregelclientopdrachten:
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
De MySQL-opdrachtregelclientopdrachten zijn beschikbaar op Linux voor het wissen van het MySQL-schermconsolevenster en er is geen clientopdracht beschikbaar op Windows OS.
MySQL-opdrachten voor het werken met databases
Hieronder staan MySQL-commando's die worden gebruikt om met databases te werken:
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
MySQL-opdrachten voor het werken met tabellen
Hier zijn MySQL-commando's voor het werken met tabellen in een 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
Veelgebruikte MySQL-opdrachten
Hieronder vindt u een lijst met de meest gebruikte MySQL-opdrachten voor databaseontwikkelaars en databasebeheerders die MySQL-databases gebruiken:
VERANDER
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;
SELECTEER
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';
SELECTEREN – WORD LID
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;
BESCHRIJVEN
DESCRIBE table_name; DESCRIBE table_name column_name;
INVOER IN
INSERT INTO table (column_list) VALUES(value_list); INSERT INTO table (column_list) VALUES(list1), (list2), ...;
UPDATE
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;
VERWIJDEREN
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,...);
VIEW
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;
PROCEDURE
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];
FUNCTIE
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];
Gebruikers en rechten
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';
Conclusie van MySQL-spiekbriefje
MySQL heeft de reputatie een extreem snelle database te zijn voor leeszware workloads, en het is geweldig in leesintensieve processen. De MySQL-spiekbrief bevat de meest gebruikte commando's en instructies om MySQL-databasegebruikers te helpen deze effectiever en gemakkelijker te beheren.