本文仅供学习参考!
MySQL是一种常见且被广泛选择的开源关系数据库管理系统(RDBMS)。在本文中,我们将讨论 MySQL 命令并提供常见 MySQL 查询的备忘单,以帮助用户更高效地使用 MySQL。
什么是 MySQL 数据库?
MySQL是由Oracle公司开发的开源RDBMS。它最初由瑞典公司MySQL AB于23年1995月<>日开发和发布。
MySQL 在商业智能 (BI) 应用程序中表现良好且可靠,尤其是读取密集型 BI 应用程序。MySQL 和 InnoDB 一起为 OLTP 场景提供了出色的读/写速度,并且可以很好地与高并发场景配合使用。此外,MySQL提供了两个不同的版本,开源MySQL社区服务器和专有企业服务器。
MySQL适用于许多系统平台,包括Linux,Windows,macOS等。它也是最稳定的数据库管理系统之一,一些云平台将其“作为服务”提供。基于云的 MySQL 服务包括 Oracle MySQL 云服务、Amazon Relational Database Service 和 Azure Database for MySQL。
MySQL 命令
MySQL使用命令通过创建带有数据的查询并执行特定任务和功能来与MySQL数据库进行通信。这些命令是编码到 SQL(结构化查询语言)语句中的指令。编写查询需要一组数据库可以理解的预定义代码。
MySQL支持多个类别中的所有SQL标准数据类型,包括数字,日期和时间,字符串和空间数据类型。字符串数据类型包括字符串和字节字符串。MySQL 还按照开放地理空间联盟 (OGC) 规范将空间扩展实现为具有几何类型的 SQL 环境的子集。
MySQL 备忘单
以下是一些最常用的MySQL命令和语句,可帮助用户更轻松有效地使用MySQL。在本文中,我们简要介绍了最常用的命令(包括MySQL命令行客户端命令)以及用于处理数据库,表,索引,视图,触发器,过程和函数的命令。
MySQL 命令行客户端命令
以下是 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
MySQL 命令行客户端命令在 Linux 上可用于清除 MySQL 屏幕控制台窗口,并且在 Windows 操作系统上没有可用的客户端命令。
用于处理数据库的 MySQL 命令
以下是用于处理数据库的 MySQL 命令:
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 命令
以下是用于处理数据库中的表的 MySQL 命令:
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
常用的 MySQL 命令
以下是使用 MySQL 数据库的数据库开发人员和数据库管理员最常用的 MySQL 命令列表:
改变
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;
选择
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';
选择 – 加入
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;
描述
DESCRIBE table_name;
DESCRIBE table_name column_name;
插入到
INSERT INTO table (column_list) VALUES(value_list);
INSERT INTO table (column_list) VALUES(list1), (list2), ...;
更新
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;
删除
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;
指数
CREATE INDEX index_name ON table_name (column,...);
DROP INDEX index_name;
CREATE UNIQUE INDEX index_name ON table_name (column,...);
视图
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';
触发
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;
程序
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];
功能
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];
用户和权限
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';
MySQL 备忘单的结论
MySQL以用于读取密集型工作负载的极快数据库而闻名,并且在读取密集型进程中非常出色。MySQL备忘单包括最常用的命令和语句,以帮助MySQL数据库用户更有效,更轻松地管理它。