MySQL - 命令手册

MySQL - 命令手册 首页 / MySQL入门教程 / MySQL - 命令手册

无涯教程可以使用以下查询查看MySQL中所有命令的列表:

mysql> HELP;

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

使用视图

MySQL中的视图用于通过连接一个或多个表来创建虚拟表。可以使用 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;

有时表包含重复的行。但是只想显示unique(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';

权限控制

在这里,无涯教程将看到为数据库的管理员和用户提供控制选项的函数。

grant语句使系统管理员可以为访问数据库的MySQL用户帐户分配特权和角色。

GRANT privilege_name(s)   
ON object   
TO user_account_name;

使用revoke语句,系统管理员过去可以撤消对数据库上用户帐户的特权和角色。

REVOKE privilege_name(s)   
ON object   
FROM user_account_name;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

全栈工程师修炼指南 -〔熊燚(四火)〕

跟月影学可视化 -〔月影〕

To B市场品牌实战课 -〔曹林〕

Flink核心技术与实战 -〔张利兵〕

陶辉的网络协议集训班02期 -〔陶辉〕

说透芯片 -〔邵巍〕

深入C语言和程序运行原理 -〔于航〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

手把手带你写一个MiniSpring -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)