sql >> Database >  >> RDS >> Mysql

MySQL-opdrachten:spiekbriefje met veelvoorkomende MySQL-query's

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.


  1. Hoe SQL Server te installeren op Ubuntu 18.04

  2. Uitdagingsoplossingen voor generatorreeksen - deel 1

  3. Kan ik in MySQL één rij kopiëren om in dezelfde tabel in te voegen?

  4. Trigger om M-M-relatie af te dwingen