MySQL中的关键字是数据库中具有特殊含义的保留字,它们用于定义数据库结构、操作数据库数据和控制数据库行为,关键字在MySQL查询中扮演着至关重要的角色,因为它们是SQL语句的核心组成部分,以下是对一些常用关键字的详细介绍及其作用:
数据定义语言 (DDL) 关键字
关键字 | 作用 | 示例 |
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); |
ALTER | 修改已存在的数据库对象,如表的结构(添加或删除列、修改列类型等)。 | ALTER TABLE employees ADD birth_date DATE; ALTER TABLE employees MODIFY salary DECIMAL(12, 2); ALTER TABLE employees DROP COLUMN birth_date; |
DROP | 删除数据库对象,如表、数据库或索引,删除操作是不可逆的,因此要谨慎使用。 | DROP DATABASE my_database; DROP TABLE employees; DROP INDEX idx_name ON employees; |
RENAME | 重命名数据库对象,如重命名表。 | RENAME TABLE employees TO staff; |
数据操作语言 (DML) 关键字
关键字 | 作用 | 示例 |
SELECT | 从数据库中查询数据,是最常用的关键字之一。 | SELECT * FROM employees; SELECT name, salary FROM employees; SELECT * FROM employees WHERE salary > 5000; |
INSERT | 向表中插入新数据。 | INSERT INTO employees (name, salary) VALUES ('John Doe', 7500);
|
UPDATE | 更新表中的数据。 | UPDATE employees SET salary = 8000 WHERE id = 1; UPDATE employees SET salary = salary * 1.1 WHERE salary< 6000; |
DELETE | 删除表中的数据。 | DELETE FROM employees WHERE id = 1; DELETE FROM employees; |
REPLACE | 类似于INSERT,但如果插入的记录主键冲突,会先删除原有记录,再插入新记录。 | REPLACE INTO employees (id, name, salary) VALUES (1, 'John Doe', 8000); |
数据控制语言 (DCL) 关键字
关键字 | 作用 | 示例 |
GRANT | 向用户授予权限。 | GRANT SELECT ON my_database.* TO 'username'@'localhost'; GRANT ALL PRIVILEGES ON my_database.* TO 'username'@'localhost'; |
REVOKE | 撤销用户的权限。 | REVOKE SELECT ON my_database.* FROM 'username'@'localhost'; REVOKE ALL PRIVILEGES ON my_database.* FROM 'username'@'localhost'; |
事务控制语言 (TCL) 关键字
关键字 | 作用 | 示例 |
BEGIN / START TRANSACTION | 显式开启一个事务。 | START TRANSACTION; |
COMMIT | 提交当前事务,使事务中的所有操作生效。 | COMMIT; |
ROLLBACK | 回滚当前事务,撤销事务中的所有操作。 | ROLLBACK; |
SAVEPOINT | 允许在事务中设置保存点,以便部分回滚。 | SAVEPOINT sp1; ROLLBACK TO SAVEPOINT sp1; |
RELEASE SAVEPOINT | 删除指定的保存点。 | RELEASE SAVEPOINT sp1; |
查询控制关键字
关键字 | 作用 | 示例 |
DISTINCT | 去除查询结果中的重复记录。 | SELECT DISTINCT name FROM employees; |
这些关键字在MySQL中扮演着重要的角色,熟练掌握这些关键字可以使数据库操作更加高效、准确、灵活。
下面是一个简单的表格,列出了MySQL数据库中的一些常用关键字,以及它们的主要用途:
关键字 | 用途 |
CREATE | 创建数据库、表、索引等 |
DROP | 删除数据库、表、索引等 |
ALTER | 修改数据库结构,如添加或删除列、修改列属性等 |
SELECT | 从数据库中检索数据 |
INSERT | 向数据库表中插入新记录 |
UPDATE | 更新数据库表中的记录 |
DELETE | 从数据库表中删除记录 |
GRANT | 授予数据库用户权限 |
REVOKE | 撤销数据库用户权限 |
COMMIT | 提交事务,确保数据一致性 |
ROLLBACK | 回滚事务,撤销未提交的更改 |
CREATE INDEX | 创建索引,以加快数据检索速度 |
DROP INDEX | 删除索引 |
USE | 选择要操作的数据库 |
DESC | 显示表结构信息 |
DESCRIPT | 显示表结构信息(同DESC) |
WHERE | 在SELECT查询中指定条件 |
ORDER BY | 对SELECT查询结果进行排序 |
GROUP BY | 对SELECT查询结果进行分组 |
HAVING | 在GROUP BY查询中指定分组条件 |
INNER JOIN | 内连接,结合两个或多个表中的记录 |
LEFT JOIN | 左外连接,返回左表的所有记录,即使右表中没有匹配的记录 |
RIGHT JOIN | 右外连接,返回右表的所有记录,即使左表中没有匹配的记录 |
FULL JOIN | 全外连接,返回两个表的所有记录,即使没有匹配的记录 |
ON | 在JOIN查询中指定连接条件 |
EXISTS | 在SELECT查询中检查子查询是否有结果 |
IN | 在WHERE子句中指定一个值列表,用于检查是否包含在列表中 |
BETWEEN | 在WHERE子句中指定一个值的范围 |
LIKE | 在WHERE子句中指定模式匹配条件 |
AND | 用于组合多个条件,表示“且”关系 |
OR | 用于组合多个条件,表示“或”关系 |
NOT | 用于否定条件,表示“非”关系 |
BETWEEN | 用于指定一个值的范围 |
IS NULL | 检查字段是否为NULL值 |
IS NOT NULL | 检查字段是否不为NULL值 |
DISTINCT | 在SELECT查询中指定唯一的结果集 |
AUTO_INCREMENT | 在创建表时指定一个字段为自动增长字段 |
PRIMARY KEY | 指定表中的一个字段为主键,用于唯一标识表中的记录 |
FOREIGN KEY | 指定表中的一个字段为外键,用于建立与其他表的关联关系 |
UNIQUE | 指定表中的一个字段或字段组合具有唯一性,不允许重复值 |
NOT NULL | 指定表中的一个字段不允许为NULL值 |
DEFAULT | 指定表中的一个字段有一个默认值,如果没有提供值,则使用默认值 |
这只是一个部分列表,MySQL数据库中有许多其他关键字和功能。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1199443.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复