📅  最后修改于: 2020-11-19 00:51:36             🧑  作者: Mango
MySQL备忘单提供了一个页面,其中包含所有最常用的命令和语句。这份一页的备忘单有助于我们更有效,更快速地使用MySQL数据库。
MySQL是广泛使用的开源RDBMS数据库,可为客户提供高性能和可扩展的基于Web的嵌入式数据库应用程序。它具有许多有用的命令和语句,可用于基于Web的嵌入式数据库应用程序。 MySQL中的命令是用于执行特定任务或服务的强大指令。它们对每个开发人员了解和使用这些查询与MySQL数据库进行实时交互非常有用。 MySQL命令基于结构化查询语言(SQL),该结构化查询语言可以支持各种操作系统,例如Linux,UNIX,macOS和Windows。
我们可以使用以下查询查看MySQL中所有命令的列表:
mysql> HELP;
让我们看看在MySQL中创建和管理数据库所需的最常用命令和语句。
该命令允许我们使用以下语法使用用户名和密码连接MySQL Server。
mysql -u [username] -p;
如果要连接特定的数据库,请使用以下语法:
mysql -u [username] -p [database];
如果要设置新密码,请使用以下语法:
mysqladmin -u root password your_password;
我们可以使用“退出”命令退出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;