sql >> Databasteknik >  >> RDS >> Mysql

MySQL-kommandon:Fuskblad med vanliga MySQL-frågor

MySQL är ett vanligt och brett valt open source relationsdatabashanteringssystem (RDBMS). I den här artikeln diskuterar vi MySQL-kommandon och erbjuder ett fuskblad med vanliga MySQL-frågor för att hjälpa användare att arbeta med MySQL mer effektivt och effektivt.

Vad är MySQL-databas?

MySQL är ett RDBMS med öppen källkod utvecklat av Oracle Corporation. Det utvecklades och släpptes ursprungligen av svenska MySQL AB den 23 maj 1995.

MySQL presterar bra och är tillförlitlig med BI-applikationer (business intelligence), särskilt lästunga BI-applikationer. MySQL och InnoDB ger tillsammans bra läs-/skrivhastigheter för OLTP-scenarier och fungerar bra med scenarier med hög samtidighet. Dessutom erbjuder MySQL två olika utgåvor, öppen källkod MySQL Community Server och Proprietary Enterprise Server.

MySQL fungerar på många systemplattformar, inklusive Linux, Windows, macOS och så vidare. Det är också ett av de mest stabila databashanteringssystemen, och vissa molnplattformar erbjuder det "som en tjänst". Molnbaserade MySQL-tjänster inkluderar Oracle MySQL Cloud Service, Amazon Relational Database Service och Azure Database for MySQL.

MySQL-kommandon

MySQL använder kommandon för att kommunicera med MySQL-databasen genom att skapa frågor med data och utföra specifika uppgifter och funktioner. Kommandona är instruktioner kodade i SQL-satser (structured query language). För att skriva en fråga krävs en uppsättning fördefinierad kod som är begriplig för databasen.

MySQL stöder alla SQL-standardtyper av data i flera kategorier inklusive Numerisk , Datum och tid , Sträng och Spatial datatyper. Strängdatatyperna inkluderar Teckensträng och Bytesträng . MySQL implementerar också rumsliga tillägg som en delmängd av SQL med geometrityper miljö efter Open Geospatial Consortium (OGC) specifikation.

MySQL Cheat Sheet

Nedan finns några av de mest använda MySQL-kommandon och -satser som hjälper användare att arbeta med MySQL enklare och mer effektivt. I den här artikeln presenterar vi kortfattat de vanligaste kommandona – inklusive MySQL kommandoradsklientkommandon – och kommandona för att arbeta med databaser, tabeller, index, vyer, utlösare, procedurer och funktioner.

MySQL kommandoradsklientkommandon

Nedan finns en lista över MySQL kommandoradsklientkommandon:

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

MySQL kommandoradsklientkommandon är tillgängliga på Linux för att rensa MySQL-skärmens konsolfönster, och det finns inget klientkommando tillgängligt på Windows OS.

MySQL-kommandon för att arbeta med databaser

Nedan finns MySQL-kommandon som används för att arbeta med databaser:

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-kommandon för att arbeta med tabeller

Här är MySQL-kommandon för att arbeta med tabeller i en databas:

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

Vanligt använda MySQL-kommandon

Nedan är en lista över de mest använda MySQL-kommandona för databasutvecklare och databasadministratörer som använder MySQL-databaser:

ÄNDRA

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;

VÄLJ

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

VÄLJ – GÅ MED

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;

BESKRIV

DESCRIBE table_name;
DESCRIBE table_name column_name;

INSERT INTO

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

UPPDATERA

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;

RADERA

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

VISA

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;

PROCEDUR

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

Användare och privilegier

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

Slutsats av MySQL Cheat Sheet

MySQL har ett rykte som en extremt snabb databas för lästunga arbetsbelastningar, och den är bra på lästunga processer. MySQL-fuskbladet innehåller de vanligaste kommandona och satserna för att hjälpa MySQL-databasanvändare att hantera det mer effektivt och enklare.


  1. Android-åtkomst till fjärrbaserad SQL-databas

  2. Hur man bäst får någons 'rank' från en poängtabell med php och mysql utan looping

  3. Hur man får datumet från en sträng i Oracle

  4. MariaDB SUBSTR() Förklarad