MySQL关键字,它们是什么以及如何使用?

MySQL 的关键字包括 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, USE, SHOW, DESCRIBE, WHERE, ORDER BY, GROUP BY, HAVING, JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN, FULL JOIN, UNION, AND, OR, NOT

MySQL的关键字是数据库中具有特殊含义的保留字,它们用于定义数据库结构、操作数据库数据和控制数据库行为,关键字在MySQL查询中扮演着至关重要的角色,因为它们是SQL语句的核心组成部分,以下是一些常用的MySQL关键字及其作用:

MySQL关键字,它们是什么以及如何使用?

数据定义语言 (DDL) 关键字

1、CREATE:用于创建数据库对象,如数据库、表、索引等。

创建数据库:CREATE DATABASE my_database;

创建表:CREATE TABLE employees (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), salary DECIMAL(10, 2));

创建索引:CREATE INDEX idx_name ON employees(name);

2、ALTER:用于修改已存在的数据库对象,如表的结构(添加或删除列、修改列类型等)。

添加新列:ALTER TABLE employees ADD birth_date DATE;

修改列的数据类型:ALTER TABLE employees MODIFY salary DECIMAL(12, 2);

删除列:ALTER TABLE employees DROP COLUMN birth_date;

3、DROP:用于删除数据库对象,如表、数据库或索引。

删除数据库:DROP DATABASE my_database;

删除表:DROP TABLE employees;

删除索引:DROP INDEX idx_name ON employees;

4、RENAME:用于重命名数据库对象,如重命名表。

重命名表:RENAME TABLE employees TO staff;

数据操作语言 (DML) 关键字

1、SELECT:用于从数据库中查询数据,是最常用的关键字之一。

基本查询:SELECT * FROM employees;

查询指定列:SELECT name, salary FROM employees;

使用条件查询:SELECT * FROM employees WHERE salary > 5000;

2、INSERT:用于向表中插入新数据。

插入一条记录:INSERT INTO employees (name, salary) VALUES ('John Doe', 7500);

插入多条记录:INSERT INTO employees (name, salary) VALUES ('Alice', 6000), ('Bob', 5500);

3、UPDATE:用于更新表中的数据。

更新单条记录:UPDATE employees SET salary = 8000 WHERE id = 1;

更新多条记录:UPDATE employees SET salary = salary * 1.1 WHERE salary < 6000;

4、DELETE:用于删除表中的数据。

删除一条记录:DELETE FROM employees WHERE id = 1;

MySQL关键字,它们是什么以及如何使用?

删除所有记录:DELETE FROM employees;

5、REPLACE:类似于INSERT,但如果插入的记录主键冲突,会先删除原有记录,再插入新记录。

插入新记录或替换已有记录:REPLACE INTO employees (id, name, salary) VALUES (1, 'John Doe', 8000);

数据控制语言 (DCL) 关键字

1、GRANT:用于向用户授予权限。

授予用户查询权限:GRANT SELECT ON my_database.* TO 'username'@'localhost';

授予用户所有权限:GRANT ALL PRIVILEGES ON my_database.* TO 'username'@'localhost';

2、REVOKE:用于撤销用户的权限。

撤销查询权限:REVOKE SELECT ON my_database.* FROM 'username'@'localhost';

撤销所有权限:REVOKE ALL PRIVILEGES ON my_database.* FROM 'username'@'localhost';

事务控制语言 (TCL) 关键字

1、BEGIN / START TRANSACTION:用于显式开启一个事务。

开启事务:START TRANSACTION;

2、COMMIT:用于提交当前事务,使事务中的所有操作生效。

提交事务:COMMIT;

3、ROLLBACK:用于回滚当前事务,撤销事务中的所有操作。

回滚事务:ROLLBACK;

4、SAVEPOINT:允许在事务中设置保存点,以便部分回滚。

设置保存点:SAVEPOINT sp1;

回滚到保存点:ROLLBACK TO SAVEPOINT sp1;

5、RELEASE SAVEPOINT:用于删除指定的保存点。

删除保存点:RELEASE SAVEPOINT sp1;

查询控制关键字

1、DISTINCT:用于去除查询结果中的重复记录。

查询不重复的员工姓名:SELECT DISTINCT name FROM employees;

2、ORDER BY:用于对结果集进行排序。

根据工资排序员工信息:SELECT * FROM employees ORDER BY salary DESC;

3、GROUP BY:用于将结果集按照一列或多列进行分组。

按部门分组计算平均工资:SELECT department, AVG(salary) FROM employees GROUP BY department;

MySQL关键字,它们是什么以及如何使用?

4、HAVING:用于对分组后的结果进行过滤。

筛选出平均工资大于5000的部门:SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING avg_salary > 5000;

5、JOIN:用于将多个表连接起来进行查询。

内连接两个表查询员工及其部门信息:SELECT employees.name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.id;

左连接、右连接和全连接也有相应的关键字。

6、UNION:用于合并两个或多个SELECT语句的结果集。

合并两个查询结果:SELECT name FROM employees UNION SELECT name FROM former_employees;

7、LIMIT:用于限制结果集的返回行数。

限制查询结果为前10条记录:SELECT * FROM employees LIMIT 10;

8、OFFSET:与LIMIT一起使用,用于指定结果集的偏移量。

跳过前10条记录,查询接下来的10条记录:SELECT * FROM employees LIMIT 10 OFFSET 10;

9、COUNTSUMAVGMAXMIN等聚合函数用于计算结果集中的总和、平均值、最大值和最小值等统计信息。

其他常用关键字

ANDORNOT:逻辑运算符,用于组合条件表达式。

NULL:表示无值或未知值。

TRUEFALSE:布尔真值和假值。

LIKE:模糊匹配运算符,用于模式匹配查询。

IN:指定多个可能的值。

BETWEEN:指定范围。

AS:给列或表指定别名。

ON:指定连接条件。

特殊关键字

ELSE:用于条件语句中的其他情况。

CASEWHENTHEN:用于条件表达式。

IFTHENELSEIFELSE:用于条件判断。

在使用MySQL时,尽量避免使用关键字作为表名或列名,如果必须使用,可以使用反引号(` “)来引用这些名称,以避免语法错误,建议查阅MySQL官方文档或其他相关资源以获取更全面的信息和示例。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1458795.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2025-01-04 21:47
下一篇 2025-01-04 21:51

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入