MySQL to powszechny i szeroko wybierany system zarządzania relacyjnymi bazami danych typu open source (RDBMS). W tym artykule omawiamy polecenia MySQL i oferujemy ściągawkę popularnych zapytań MySQL, aby pomóc użytkownikom pracować z MySQL bardziej wydajnie i efektywnie.
Co to jest baza danych MySQL?
MySQL to RDBMS typu open source opracowany przez Oracle Corporation. Został pierwotnie opracowany i wydany przez szwedzką firmę MySQL AB 23 maja 1995 roku.
MySQL działa dobrze i jest niezawodny w aplikacjach Business Intelligence (BI), zwłaszcza aplikacjach BI o dużym natężeniu odczytu. MySQL i InnoDB razem zapewniają świetne prędkości odczytu/zapisu w scenariuszach OLTP i dobrze współpracują ze scenariuszami o wysokiej współbieżności. Co więcej, MySQL oferuje dwie różne edycje, open-source MySQL Community Server i Proprietary Enterprise Server.
MySQL działa na wielu platformach systemowych, w tym Linux, Windows, macOS i tak dalej. Jest to również jeden z najbardziej stabilnych systemów zarządzania bazami danych, a niektóre platformy chmurowe oferują go „jako usługę”. Usługi MySQL oparte na chmurze obejmują Oracle MySQL Cloud Service, Amazon Relational Database Service i Azure Database for MySQL.
Polecenia MySQL
MySQL używa poleceń do komunikacji z bazą danych MySQL poprzez tworzenie zapytań z danymi oraz wykonywanie określonych zadań i funkcji. Polecenia są instrukcjami zakodowanymi w instrukcjach SQL (ustrukturyzowany język zapytań). Napisanie zapytania wymaga zestawu predefiniowanego kodu, który jest zrozumiały dla bazy danych.
MySQL obsługuje wszystkie standardowe typy danych SQL w kilku kategoriach, w tym numeryczne , Data i godzina , Ciąg i Przestrzenne typy danych. Typy danych ciągów obejmują ciąg znaków i Ciąg bajtów . MySQL implementuje również rozszerzenia przestrzenne jako podzbiór SQL z Typami Geometrii środowisko zgodne z Open Geospatial Consortium (OGC) specyfikacja.
Ściągawka do MySQL
Poniżej znajdują się niektóre z najczęściej używanych poleceń i instrukcji MySQL, które pomagają użytkownikom łatwiej i efektywniej pracować z MySQL. W tym artykule przedstawiamy pokrótce najczęściej używane polecenia – w tym polecenia klienta wiersza poleceń MySQL – oraz polecenia do pracy z bazami danych, tabelami, indeksami, widokami, wyzwalaczami, procedurami i funkcjami.
Polecenia klienta wiersza poleceń MySQL
Poniżej znajduje się lista poleceń klienta wiersza poleceń MySQL:
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
Polecenia klienta wiersza poleceń MySQL są dostępne w systemie Linux do czyszczenia okna konsoli ekranu MySQL, a w systemie operacyjnym Windows nie ma poleceń klienta.
Polecenia MySQL do pracy z bazami danych
Poniżej znajdują się polecenia MySQL używane do pracy z bazami danych:
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
Polecenia MySQL do pracy z tabelami
Oto polecenia MySQL do pracy z tabelami w bazie danych:
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
Powszechnie używane polecenia MySQL
Poniżej znajduje się lista najczęściej używanych poleceń MySQL dla programistów baz danych i administratorów baz danych korzystających z baz danych MySQL:
ZMIANA
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;
WYBIERZ
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';
WYBIERZ – DOŁĄCZ
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;
OPISZ
DESCRIBE table_name; DESCRIBE table_name column_name;
WSTAW DO
INSERT INTO table (column_list) VALUES(value_list); INSERT INTO table (column_list) VALUES(list1), (list2), ...;
AKTUALIZUJ
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;
USUŃ
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;
INDEKS
CREATE INDEX index_name ON table_name (column,...); DROP INDEX index_name; CREATE UNIQUE INDEX index_name ON table_name (column,...);
WIDOK
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';
WYZWALANIE
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];
FUNKCJA
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];
Użytkownicy i uprawnienia
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';
Zawarcie ściągawki MySQL
MySQL ma reputację niezwykle szybkiej bazy danych dla obciążeń wymagających dużego odczytu i świetnie sprawdza się w procesach wymagających dużego odczytu. Ściągawka MySQL zawiera najczęściej używane polecenia i instrukcje, które pomagają użytkownikom bazy danych MySQL zarządzać nią bardziej efektywnie i łatwiej.