当前位置:   article > 正文

常见的MySQL语句及其作用_mysql语句大全及用法

mysql语句大全及用法

一、语句:CREATE

作用:用于创建数据库、表或其他数据库对象。

概括:CREATE语句是在MySQL中用于创建数据库、表、视图、函数、存储过程等对象的关键字。下面是CREATE语句在不同场景下的概括:

  1. 创建数据库:CREATE DATABASE database_name;

这将创建一个名为"database_name"的数据库。

  1. 创建表:CREATE TABLE table_name ( column1 datatype, column2 datatype, ... );

这将创建一个名为"table_name"的表,并定义了表中的列及其数据类型。

  1. 创建视图:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;

这将创建一个名为"view_name"的视图,以查询结果作为视图的内容。

  1. 创建函数:CREATE FUNCTION function_name ([parameter data_type, ...]) RETURNS return_data_type BEGIN -- 函数体 END;

这将创建一个名为"function_name"的函数,定义了函数的参数、返回值和函数体。

  1. 创建存储过程:CREATE PROCEDURE procedure_name () BEGIN -- 存储过程体 END;

这将创建一个名为"procedure_name"的存储过程,定义了存储过程的内容。

  1. 创建索引:CREATE INDEX index_name ON table_name (column1, column2, ...);

这将在指定的表上创建一个或多个列的索引,以提高查询性能。

总结:在每种情况下,CREATE语句可以根据具体需求进行更多的设置和参数定义。请注意,在执行CREATE语句之前,需要具备足够的权限才能创建相应的对象。

二、语句:ALTER

作用:用于修改数据库结构,如添加、修改或删除表、列、约束等。

概括:ALTER语句是在MySQL中用于修改数据库、表和列等对象的关键字。下面是ALTER语句在不同场景下的概述:

  1. 修改表:ALTER TABLE table_name [alteration];

这将对名为"table_name"的表进行修改操作。具体的alteration可以包括以下操作:

  • 添加列:ADD COLUMN column_definition
  • 修改列:MODIFY COLUMN column_definition
  • 删除列:DROP COLUMN column_name
  • 修改表名称:RENAME TO new_table_name
  • 修改表的其它属性,如字符集、存储引擎等。
  1. 修改列:ALTER TABLE table_name ALTER COLUMN column_name [modification];

这将对表中的某一列进行修改操作。具体的modification可以包括以下操作:

  • 修改列数据类型和长度:SET DATA TYPE new_data_type, MODIFY LENGTH n
  • 修改列名:RENAME COLUMN new_column_name
  • 修改列的其它属性,如默认值、是否允许NULL等。
  1. 修改数据库:ALTER DATABASE database_name [modification];

这将对名为"database_name"的数据库进行修改操作。具体的modification可以包括以下操作:

  • 修改数据库字符集:CHARACTER SET = new_character_set
  • 修改数据库排序规则:COLLATE = new_collation

总结:注意,在执行ALTER语句时,需要具备足够的权限才能对数据库、表或列进行修改操作。同时,对于大型表的修改可能涉及到较长时间的运行和资源消耗,需谨慎操作。

三、语句:DROP

作用:用于删除数据库、表或其他数据库对象。

概括:DROP语句是在MySQL中用于删除数据库、表、视图、函数、存储过程和索引等对象的关键字。下面是DROP语句在不同场景下的概述:

  1. 删除表:DROP TABLE table_name;

这将删除名为"table_name"的表,包括表的结构和数据。

  1. 删除视图:DROP VIEW view_name;

这将删除名为"view_name"的视图。

  1. 删除函数:DROP FUNCTION function_name;

这将删除名为"function_name"的函数。

  1. 删除存储过程:DROP PROCEDURE procedure_name;

这将删除名为"procedure_name"的存储过程。

  1. 删除索引:DROP INDEX index_name ON table_name;

这将删除指定表上的名为"index_name"的索引。

  1. 删除数据库:DROP DATABASE database_name;

这将删除名为"database_name"的数据库,包括数据库中的所有表、视图和其他对象。

总结:在执行DROP语句时,请务必谨慎操作,因为删除的对象将无法恢复并且数据将永久丢失。在删除表时,可以使用DROP TABLE IF EXISTS语句来判断表是否存在,避免出现错误。同时,在执行DROP语句时需要具备足够的权限才能删除相应的对象。请确保在删除之前做好备份,并谨慎操作以防止误删除重要数据。

四、语句:SELECT

作用:用于从数据库中查询数据。

概括:SELECT语句是在MySQL中用于从数据库中检索数据的关键字。它是SQL语言中最常用的命令之一,用于查询表中的数据并返回结果。下面是SELECT语句的概述:

SELECT column1, column2, ... FROM table_name WHERE condition GROUP BY column(s) HAVING condition ORDER BY column(s) LIMIT n; 
  • SELECT子句:用于指定要查询的列或计算字段。可以使用通配符*表示选择所有列,或者指定具体的列名(多个列名用逗号分隔)。
  • FROM子句:指定要查询的表名。可以是单个表或多个表的组合,通过逗号分隔。
  • WHERE子句:可选条件,用于筛选需要满足的记录。可以使用各种比较运算符(如等于、大于、小于)、逻辑运算符(如AND、OR、NOT)和其他函数进行条件判断。
  • GROUP BY子句:按指定的列对结果进行分组,并将相同值的记录归为一组。常用于与聚合函数一起使用,如COUNT、SUM、AVG等。
  • HAVING子句:用于对GROUP BY子句分组后结果进行进一步筛选。类似于WHERE子句,但作用于分组后的结果。
  • ORDER BY子句:用于对查询结果进行排序,默认是按升序排列。可以使用DESC关键字进行降序排序。
  • LIMIT子句:用于限制查询结果的数量。通常用于分页查询,指定从查询结果中返回的行数。总结:可以根据具体的需求灵活使用SELECT语句来检索数据库中的数据,并通过各种条件和操作符进行数据筛选、聚合和排序。注意,在执行SELECT语句时需要具备足够的权限才能访问相应的表和数据。

五、语句:INSERT

作用:用于向数据库中插入新的数据行。

概括:INSERT语句是在MySQL中用于向数据库表中插入新记录的关键字。它允许将新数据插入表的指定列中或通过查询语句从其他表中获取数据并插入目标表。下面是INSERT语句的概述:

  1. 插入单条记录:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

这将向名为"table_name"的表中插入一条新记录,并指定要插入的列和对应的值。

  1. 插入多条记录: 使用INSERT INTO语句结合SELECT语句可以插入多条记录,例如:INSERT INTO table_name (column1, column2, ...) SELECT value1, value2, ... FROM other_table WHERE condition;

这将从"other_table"表中选择满足条件"condition"的记录,并将选定的列与对应的值插入到名为"table_name"的表中。

  1. 插入默认值: 如果某些列具有默认值,可以省略VALUES子句中相应列的值,例如:INSERT INTO table_name (column1, column2) VALUES (value1, DEFAULT);

这将插入指定值"value1"和相应列的默认值。

总结:在执行INSERT语句时,请确保提供正确的表名、列名和相应的值,以避免出现错误。同时,在插入数据时需具备足够的权限,以确保可以访问和修改目标表。INSERT语句是用于向数据库表中添加新数据的常见方式,通过灵活使用它可以实现数据的增加和更新。

六、语句:UPDATE

作用:用于更新数据库中已有的数据行。

概括:UPDATE语句是在MySQL中用于修改数据库表中现有记录的关键字。它允许更新表中指定列的值,并且可以根据特定条件进行筛选。下面是UPDATE语句的概述:

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 
  • UPDATE子句:指定要更新数据的表名。
  • SET子句:指定要更新的列和相应的新值。每个列名后跟一个等号和新的值。
  • WHERE子句:可选条件,用于筛选要更新的记录。只有满足条件的记录才会被更新。如果没有指定WHERE子句,则所有记录都会被更新。

总结:使用UPDATE语句时,请确保提供正确的表名、列名、新值和条件,以避免对数据库产生意外的修改。同时,在执行UPDATE语句之前请确认具备足够的权限,以允许对目标表进行修改操作。通过灵活使用UPDATE语句,您可以对数据库表中的现有数据进行更新、修正或更改,以满足特定的需求和条件。

 
七、语句:DELETE

作用:用于从数据库中删除数据行。

概括:DELETE语句是在MySQL中用于删除数据库表中记录的关键字。它可以删除满足特定条件的记录,从而实现对数据的删除操作。下面是DELETE语句的概述:

DELETE FROM table_name WHERE condition; 
  • DELETE FROM子句:指定要删除数据的表名。
  • WHERE子句:可选条件,用于筛选要删除的记录。只有满足条件的记录才会被删除。如果没有指定WHERE子句,则将删除表中的所有记录。

使用DELETE语句时,请务必谨慎操作,确保提供正确的表名和条件,并且了解删除操作的后果。删除操作是不可逆转的,一旦执行,相应数据将永久删除。

总结:在执行DELETE语句之前,请确认具备足够的权限,以允许对目标表进行修改和删除操作。同时,建议在删除操作前先做好数据备份工作,以防止意外删除导致数据丢失。

通过合理使用DELETE语句,您可以根据特定条件删除数据库表中的记录,使数据得到更新、清理或调整。


八、语句:GRANT

作用:用于授予用户或角色访问权限。

概括:GRANT语句是在MySQL中用于授予用户账户特定权限的关键字。它允许管理员或具有授权权限的用户将某些权限授予其他用户,以便它们可以执行特定的数据库操作。下面是GRANT语句的概述:

GRANT privileges ON database_name.table_name TO 'username'@'host'; 
  • GRANT关键字:表示授予权限。
  • privileges:指定要授予的具体权限。例如,SELECT、INSERT、UPDATE、DELETE等。
  • database_name.table_name:指定要授予权限的数据库名和表名。可以使用通配符*表示所有数据库或所有表。
  • username:要授予权限的用户的用户名。
  • host:允许访问MySQL服务器的主机。可以使用通配符%来表示所有主机,或者指定具体的IP地址。

授予权限后,用户将能够执行相应的数据库操作。根据具体情况,可以授予不同级别的权限,例如全局权限(全局级别的操作)或特定数据库/表的权限。

以下是一些常见的权限示例:

  • ALL PRIVILEGES:授予用户对指定数据库或表的所有权限。
  • SELECT:允许用户查询数据库表。
  • INSERT:允许用户向数据库表中插入数据。
  • UPDATE:允许用户更新数据库表中的数据。
  • DELETE:允许用户删除数据库表中的数据。

总结:使用GRANT语句时,请确保具有足够的权限来授予其他用户权限,并且按需授予合适的权限。同时,应谨慎操作以避免未经授权的访问或修改数据库。


九、语句:REVOKE

作用:用于收回用户或角色的访问权限。

概括:REVOKE语句是在MySQL中用于撤销已经授予用户的权限的关键字。它允许管理员或具有授权权限的用户取消其他用户的某些权限,从而限制其对数据库的操作。下面是REVOKE语句的概述:

REVOKE privileges ON database_name.table_name FROM 'username'@'host';

  • REVOKE关键字:表示撤销权限。
  • privileges:指定要撤销的具体权限。例如,SELECT、INSERT、UPDATE、DELETE等。如果使用ALL PRIVILEGES,则会撤销所有权限。
  • database_name.table_name:指定要撤销权限的数据库名和表名。可以使用通配符*表示所有数据库或所有表。
  • username:要撤销权限的用户的用户名。
  • host:允许访问MySQL服务器的主机。可以使用通配符%来表示所有主机,或者指定具体的IP地址。

总结:通过REVOKE语句,管理员可以撤销特定用户的某些或所有权限,以达到安全管理数据库的目的。这将限制用户对数据库的操作能力,并保护敏感数据的安全性。

请注意,REVOKE语句只能撤销之前已经授予的权限。如果还需要更改或重新授予权限,则需要使用GRANT语句。

在执行REVOKE语句时,请确保具有足够的权限来撤销目标用户的权限,并且按需撤销合适的权限。同时,应谨慎操作以避免误操作导致权限不当地被撤销或给予了不适当的权限。

通过合理使用REVOKE语句,可以在MySQL数据库中撤销已授予的用户权限,实现对数据库安全性的管理和控制。


十、语句:JOIN

作用:用于根据表之间的关系进行联接查询。

概括:JOIN语句是在MySQL中用于将多个表根据它们之间的关系进行联接(连接)的关键字。它允许我们在查询中同时从多个表中检索数据,并根据表之间的连接条件将它们合并在一起。下面是JOIN语句的概述:

SELECT column_names FROM table1 JOIN table2 ON join_condition; 
  • SELECT:指定要检索的列或表达式。
  • column_names:要选择的列的名称,可以使用通配符*选择所有列。
  • FROM:指定要检索数据的主要表(第一个表)。
  • JOIN:指定要连接的附加表(第二个表)。
  • table1、table2:要连接的表的名称。
  • ON:指定连接条件,即建立两个表之间关系的条件。

JOIN语句的重点是定义连接条件,通过指定ON子句中的连接条件,我们确定了表之间的连接方式。常见的连接类型包括:

  • INNER JOIN:返回满足连接条件的行,即两个表中共有的数据行。
  • LEFT JOIN:返回左表中的所有行,以及右表中满足连接条件的行。对于右表没有匹配的行,返回NULL值。
  • RIGHT JOIN:返回右表中的所有行,以及左表中满足连接条件的行。对于左表没有匹配的行,返回NULL值。
  • FULL JOIN:返回左表和右表中的所有行,如果没有匹配的行,返回NULL值。

总结:在执行JOIN语句时,请确保表之间存在适当的连接条件,并且理解不同类型连接的区别与用途。合理使用JOIN语句可以帮助我们在多个相关表中检索和处理数据,实现更复杂的查询操作。

这些语句可以通过MySQL客户端或编程语言的驱动程序来执行。通过使用适当的MySQL语句,可以管理和操作数据库,进行数据的增删改查,以及设置访问权限等操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/458542
推荐阅读
相关标签
  

闽ICP备14008679号