Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Befehle:Spickzettel für häufige MySQL-Abfragen

MySQL ist ein weit verbreitetes und weit verbreitetes relationales Open-Source-Datenbankverwaltungssystem (RDBMS). In diesem Artikel diskutieren wir MySQL-Befehle und bieten einen Spickzettel mit gängigen MySQL-Abfragen, um Benutzern zu helfen, effizienter und effektiver mit MySQL zu arbeiten.

Was ist eine MySQL-Datenbank?

MySQL ist ein Open-Source-RDBMS, das von der Oracle Corporation entwickelt wurde. Es wurde ursprünglich von der schwedischen Firma MySQL AB am 23. Mai 1995 entwickelt und veröffentlicht.

MySQL funktioniert gut und zuverlässig mit Business-Intelligence-Anwendungen (BI), insbesondere mit leseintensiven BI-Anwendungen. MySQL und InnoDB bieten zusammen hervorragende Lese-/Schreibgeschwindigkeiten für OLTP-Szenarien und funktionieren gut mit Szenarien mit hoher Parallelität. Darüber hinaus bietet MySQL zwei verschiedene Editionen an, Open Source MySQL Community Server und Proprietary Enterprise Server.

MySQL funktioniert auf vielen Systemplattformen, einschließlich Linux, Windows, macOS und so weiter. Es ist auch eines der stabilsten Datenbankverwaltungssysteme, und einige Cloud-Plattformen bieten es „als Service“ an. Cloudbasierte MySQL-Dienste umfassen Oracle MySQL Cloud Service, Amazon Relational Database Service und Azure Database for MySQL.

MySQL-Befehle

MySQL verwendet Befehle, um mit der MySQL-Datenbank zu kommunizieren, indem Abfragen mit Daten erstellt und bestimmte Aufgaben und Funktionen ausgeführt werden. Die Befehle sind Anweisungen, die in SQL-Anweisungen (Structured Query Language) codiert sind. Um eine Abfrage zu schreiben, ist eine Reihe vordefinierter Codes erforderlich, die für die Datenbank verständlich sind.

MySQL unterstützt alle SQL-Standarddatentypen in mehreren Kategorien, einschließlich Numerisch , Datum und Uhrzeit , Zeichenfolge und Räumlich Datentypen. Zu den String-Datentypen gehört Zeichenfolge und Bytestring . MySQL implementiert auch räumliche Erweiterungen als Teilmenge von SQL mit Geometrietypen Umgebung nach dem Open Geospatial Consortium (OGC) Spezifikation.

MySQL-Spickzettel

Nachfolgend finden Sie einige der am häufigsten verwendeten MySQL-Befehle und -Anweisungen, die Benutzern helfen, einfacher und effektiver mit MySQL zu arbeiten. In diesem Artikel stellen wir kurz die am häufigsten verwendeten Befehle vor – einschließlich MySQL-Befehlszeilen-Client-Befehle – und die Befehle zum Arbeiten mit Datenbanken, Tabellen, Indizes, Ansichten, Triggern, Prozeduren und Funktionen.

Befehle des MySQL-Befehlszeilenclients

Nachfolgend finden Sie eine Liste von MySQL-Befehlszeilen-Client-Befehlen:

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

Die MySQL-Befehlszeilen-Client-Befehle sind unter Linux verfügbar, um das Konsolenfenster des MySQL-Bildschirms zu löschen, und unter Windows-Betriebssystemen ist kein Client-Befehl verfügbar.

MySQL-Befehle zum Arbeiten mit Datenbanken

Nachfolgend finden Sie MySQL-Befehle, die für die Arbeit mit Datenbanken verwendet werden:

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-Befehle zum Arbeiten mit Tabellen

Hier sind MySQL-Befehle zum Arbeiten mit Tabellen in einer Datenbank:

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

Häufig verwendete MySQL-Befehle

Nachfolgend finden Sie eine Liste der am häufigsten verwendeten MySQL-Befehle für Datenbankentwickler und Datenbankadministratoren, die MySQL-Datenbanken verwenden:

ÄNDERN

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;

AUSWÄHLEN

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';

AUSWÄHLEN – MITMACHEN

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;

BESCHREIBEN

DESCRIBE table_name;
DESCRIBE table_name column_name;

EINFÜGEN IN

INSERT INTO table (column_list) VALUES(value_list);
INSERT INTO table (column_list) VALUES(list1), (list2), ...;

AKTUALISIEREN

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;

LÖSCHEN

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,...);

ANSEHEN

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;

VERFAHREN

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];

FUNKTION

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];

Benutzer und Berechtigungen

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';

Schlussfolgerung des MySQL-Spickzettels

MySQL hat den Ruf, eine extrem schnelle Datenbank für leseintensive Arbeitslasten zu sein, und es eignet sich hervorragend für leseintensive Prozesse. Der MySQL-Spickzettel enthält die am häufigsten verwendeten Befehle und Anweisungen, um Benutzern der MySQL-Datenbank zu helfen, sie effektiver und einfacher zu verwalten.