蓝桉云顶

Good Luck To You!

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关键字及其作用:

数据定义语言 (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;

删除所有记录: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;

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官方文档或其他相关资源以获取更全面的信息和示例。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年1月    »
12345
6789101112
13141516171819
20212223242526
2728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接