MySQL 命令备忘录

MySQL 备忘单提供了一个页面,其中包含所有最常用的命令和语句。这份单页速查表帮助我们更有效、更快速地使用 MySQL 数据库。

MySQL 是一种广泛使用的开源RDBMS数据库,可为客户提供高性能和可扩展的基于 Web 和嵌入式数据库应用程序。它有许多有用的命令和语句可用于基于 Web 和嵌入式数据库应用程序。MySQL 中的命令是用于执行特定任务或服务的强大指令。它们对于每个开发人员了解和使用这些查询与 MySQL数据库进行实时交互非常有帮助。MySQL 命令基于结构化查询语言 (SQL),可以支持各种操作系统,例如Linux、UNIX、macOS 和Windows。

我们可以使用以下查询查看 MySQL 中所有命令的列表:

mysql> HELP;  

让我们看看在 MySQL 中创建和管理数据库所需的最常用的命令和语句。

一、MySQL 命令行客户端命令

该命令允许我们连接MySQL使用以下语法的具有用户名和密码的服务器。

mysql -u [username] -p;  

如果要连接特定数据库,请使用以下语法:

mysql -u [username] -p [database];  

如果要设置新密码,请使用以下语法:

mysqladmin -u root password your_password;  

我们可以使用“exit”命令退出 MySQL 命令行客户端。

我们可以使用以下命令清除 Linux 中的控制台窗口:

mysql> system clear;  

需要注意的是,Windows 没有可用的命令来清除 MySQL 的控制台窗口。

二、使用Database

数据库存储有组织的记录集合,用户可以非常轻松地访问和管理这些记录。它将数据保存到表、行、列和索引中,帮助我们快速找到相关信息。我们可以使用以下语法创建数据库。它还检查数据库名称,它是否已经存在。

CREATE DATABASE IF NOT EXISTS db_name;  

如果您想使用正在处理的另一个数据库更改当前数据库,请使用以下语法:

mysql> use db_name;  

我们可以使用以下语法永久删除特定数据库及其关联文件:

DROP DATABASE IF EXISTS db_name;  

要显示当前服务器中的所有数据库,请使用以下语法:

mysql> SHOW DATABASES;  

三、使用Table

表是以行和列格式存储在数据库中的相关数据的集合。我们可以使用以下语法创建一个新表。它还检查表名,是否已经存在。

CREATE TABLE IF NOT EXISTS tab_name (  
  column_list (s)  
);  

我们可以使用INSERT 语句将记录添加到表中,如下所示:

INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );  

我们可以使用以下语法永久删除特定表:

DROP TABLE IF EXISTS tab_name; 

要显示当前数据库中的所有表,请使用以下语法:

mysql> SHOW TABLES;  

我们可以向表中添加新列或删除任何列,使用以下语句:

-- Add a new column  
ALTER TABLE tab_name ADD [COLUMN] colm_name;  
  
-- Delete column  
ALTER TABLE tab_name DROP [COLUMN] colm_name;  

我们可以将主键添加到表中,也可以将其从表中删除,使用以下语句:

-- Add a primary key  
ALTER TABLE tab_name ADD PRIMARY KEY (colm_names);  
  
-- Delete primary key  
ALTER TABLE tab_name DROP PRIMARY KEY;  

如果要在列上添加具有特定名称的索引,请使用以下语法:

ALTER TABLE tabl_name ADD INDEX [name] (column(s));  

我们可以使用以下语句显示表的结构:

DESCRIBE tab_name;  

我们可以使用以下语句显示表的列信息:

DESCRIBE tab_name colm_name;  

四、使用索引

索引是一种数据结构,它允许我们更快地检索数据库表上的记录。如果我们要在表中添加索引,我们将使用如下语句:

CREATE INDEX [index_name] ON [table_name] (column names);  

要删除索引,请使用以下语句:

DROP INDEX index_name;  

五、使用视图

MySQL 中的 View 用于通过连接一个或多个表来创建虚拟表。我们可以使用SELECT 语句创建或替换 VIEW如下:

CREATE [OR REPLACE] VIEW IF NOT EXISTS view_name AS SELECT column_list    
FROM tables WHERE conditions;    

我们可以使用以下语句删除视图:

DROP VIEW [IF EXISTS] view (s).;  

我们可以使用以下语句重命名视图:

RENAME TABLE view_name TO new_view_name;  

如果要显示数据库中所有可用的视图,请使用以下语句:

SHOW FULL TABLES [{FROM | IN } db_name] WHERE tab_type = 'VIEW';  

六、使用存储过程

存储过程是一组SQL具有特定名称的语句,它接受一些输入并执行特定任务。它可以节省在数据库中一次又一次地编写相同代码的时间。我们可以使用以下语句在 MySQL 中创建存储过程:

CREATE PROCEDURE procedure_name[ (parameter_list) ]    
BEGIN    
    Declaration_section    
    Executable_section    
END;  

如果要从数据库中删除现有存储过程,请使用以下语句:

DROP PROCEDURE [IF EXISTS] procedure_name;  

如果要显示数据库中可用的所有过程,请使用以下语句:

SHOW PROCEDURE STATUS   
[LIKE 'pattern' | WHERE condition];  

七、使用触发器

触发器是数据库中的程序代码,只要数据库中特定表或视图上的某些事件发生,就会自动执行。我们可以使用以下语句创建一个新触发器:

CREATE TRIGGER trigger_name  
{ AFTER | BEFORE } {INSERT | UPDATE| DELETE }  
ON tab_name FOR EACH ROW  
BEGIN    
    --variable declarations    
    --trigger code    
END;  

如果要删除现有触发器,请使用以下语句:

DROP TRIGGER [IF EXISTS] trigger_name;  

如果要显示数据库中所有可用的触发器,请使用以下语句:

SHOW TRIGGERS  
[{FROM | IN} db_name]  
[LIKE 'pattern' | WHERE condition];  

八、使用存储函数

MySQL 中的存储函数是一组 SQL 语句,它们执行某些任务/操作并返回单个值。它是 MySQL 中存储程序的类型之一。当您将创建存储函数时,请确保您具有 CREATE ROUTINE 数据库权限。在 MySQL 中创建存储函数的语法如下:

DELIMITER $$  
   
CREATE FUNCTION function_name(parameter(s))  
RETURNS datatype  
[NOT] {DETERMINISTIC, NO SQL, or READS SQL DATA}  
BEGIN  
 -- SQL statements  
END $$  
   
DELIMITER ;  

如果要删除现有触发器,请使用以下语句:

DROP FUNCTION [IF EXISTS] fun_name;  

如果要显示数据库中所有可用的触发器,请使用以下语句:

SHOW FUNCTION STATUS   
[LIKE 'pattern' | WHERE condition];  

九、基于表的热门查询

在这里,我们将看到对表执行的一些基本查询以查找相关信息。

如果我们想显示所有表格数据,请使用以下语法:

SELECT * FROM tab_name;  

如果我们想显示表中某些选定列的数据,请使用以下语法:

SELECT colm1, colm2... FROM tab_name;  

我们可以使用以下语句从表中获取过滤结果:

SELECT column_list(S) FROM tab_name WHERE condition;  

有时我们的表包含重复行。但是我们只想显示唯一(不同)行,在这种情况下,将执行以下语句:

SELECT DISTINCT (column) FROM tab_name;  

有时,表的列名不适合输出。在这种情况下,我们可以使用以下语句来更改结果中的列名:

SELECT   
    Column(s) AS alias_name(s),  
    Expression AS alias.....  
FROM  tab_name;  

如果我们想从多个表中获取输出,我们需要使用 JOIN 操作。连接两个表的语法如下:

SELECT select_list  
FROM table1  
JOIN table2 ON condition;  

我们可以用这个语句计算行数:

SELECT COUNT(*) FROM tab_name;  

我们可以使用以下语句对结果集进行排序:

SELECT column_list FROM tab_name  
ORDER BY colm1 ASC [DESC], colm2 ASC [DESC]; 

如果我们要将行分组到结果集中,请使用以下语法:

SELECT column_list FROM tab_name  
GROUP BY colm1, colm2 ...;  

如果我们要更新表的行,请使用以下语法:

UPDATE table_name  
SET column1 = value1 ... WHERE condition;  

我们可以使用以下语法从表中删除所有记录:

DELETE FROM tab_name;  

十、从表中搜索数据

我们可以使用 LIKE 子句搜索数据,如下所示:

SELECT column_list FROM tab_name  
WHERE column LIKE '%pattern%';  

我们还可以使用带有 RLIKE 运算符的正则表达式来搜索文本,如下所示:

SELECT column_list FROM tab_name  
WHERE column RLIKE 'regular_expression';  

十一、管理员的控制选项

在这里,我们将看到为数据库管理员和用户提供控制选项的功能。

grant 语句使系统管理员能够将权限和角色分配给 MySQL 用户帐户以访问数据库。

GRANT privilege_name(s)     
ON object     
TO user_account_name;  

revoke 语句使系统管理员能够撤销过去在数据库上的用户帐户的权限和角色。

REVOKE privilege_name(s)     
ON object     
FROM user_account_name;  

 

热门文章

优秀文章