MySQL 命令/备忘单

2024年10月20日 MySQL 命令/备忘单 极客笔记

MySQL 命令/备忘单

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

MySQL是一个开源的广泛使用的RDBMS数据库,为客户提供了高性能和可扩展的基于Web和嵌入式数据库应用程序。它有许多有用的命令和语句可以用于与基于Web和嵌入式数据库应用程序的实时交互。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控制台窗口。

与数据库一起工作

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

CREATE DATABASE IF NOT EXISTS db_name;

如果您想要使用另一个数据库来替换当前正在使用的数据库,请使用以下语法:

mysql> use db_name;

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

DROP DATABASE IF EXISTS db_name;

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

mysql> SHOW DATABASES;

与表格一起工作

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

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;

使用View工作

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

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

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

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

授权语句使系统管理员能够为访问数据库的MySQL用户帐户分配权限和角色。

GRANT privilege_name(s)   
ON object   
TO user_account_name;

撤销语句使系统管理员能够在数据库中撤销用户账户的权限和角色。

REVOKE privilege_name(s)   
ON object   
FROM user_account_name;

本文链接:http://so.lmcjl.com/news/15848/

展开阅读全文