首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
5.1 MySQL存储引擎
5.1.1 MySQL存储引擎的概念
5.1.2 查询MySQL中支持的存储引擎
5.1.3 InnoDB存储引擎
5.1.4 MyISAM存储引擎
5.1.5 MEMORY存储引擎
5.1.6 选择存储引擎
5.1.7 设置数据表的存储引擎
5.2 MySQL数据类型
5.2.1 数字类型
5.2.2 字符串类型
5.2.3 日期和时间类型
6.1 创建数据表(CREATE TABLE语句)
6.2 查看表结构
6.2.1 使用SHOW COLUMNS语句查看
6.2.2 使用DESCRIBE语句查看
6.3 修改表结构(ALTER TABLE语句)
6.3.1 添加新字段和修改字段定义
6.3.2 修改字段名/类型
6.3.3 删除字段
6.3.4 修改表名
6.4 重命名表(RENAME TABLE语句)
6.5 复制表(CREATE TABLE…LIKE语句)
6.6 删除表(DROP TABLE语句)
7.1 运算符
7.1.1 算术运算符
7.1.2 比较运算符
7.1.3 逻辑运算符
7.1.4 位运算符
7.2 流程控制语句
7.2.1 IF语句
7.2.2 CASE语句
7.2.3 WHILE循环语句
7.2.4 LOOP循环语句
7.2.5 REPEAT循环语句
8.1 增添数据
8.1.1 使用INSERT…VALUES语句插入数据
8.1.2 使用INSERT…SET语句插入数据
8.1.3 使用INSERT...SELECT语句插入查询结果
8.2 修改数据
8.3 删除数据
8.3.1 使用DELETE语句删除数据
8.3.2 使用TRUNCATE TABLE语句删除数据
当前位置:
首页>>
技术小册>>
MySQL从入门到精通(二)
小册名称:MySQL从入门到精通(二)
### 7.1 运算符 在MySQL中,运算符是执行数学计算、比较数据、逻辑判断等操作的基本符号。它们对于数据查询、更新、删除等操作至关重要,是实现复杂数据操作与逻辑处理的关键。本章将详细介绍MySQL中的各类运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符、字符串运算符以及特殊运算符,帮助读者从基础到精通,全面掌握MySQL中的运算符使用。 #### 7.1.1 算术运算符 算术运算符用于执行基本的数学运算,如加、减、乘、除等。在MySQL中,常见的算术运算符包括: - **+**:加法运算符,用于两个数值相加。 - **-**:减法运算符,用于第一个数值减去第二个数值。 - *****:乘法运算符,用于两个数值相乘。 - **/**:除法运算符,用于第一个数值除以第二个数值。注意,当除数为0时,结果会是一个错误或特殊值(如Infinity在支持的环境中)。 - **%**(MOD):模运算符,返回两个数相除后的余数。 **示例**: ```sql SELECT 5 + 3 AS Addition, 10 - 2 AS Subtraction, 4 * 5 AS Multiplication, 10 / 2 AS Division, 10 % 3 AS Modulo; ``` #### 7.1.2 比较运算符 比较运算符用于比较两个表达式的结果,并根据比较结果返回TRUE、FALSE或NULL。这些运算符在条件语句(如WHERE子句)中非常有用。 - **=**:等于。 - **<>** 或 **!=**:不等于。 - **>**:大于。 - **<**:小于。 - **>=**:大于等于。 - **<=**:小于等于。 - **<=>**(NULL-safe equal):如果两个表达式都是NULL,则返回TRUE;否则,按照=运算符的规则进行比较。 **示例**: ```sql SELECT * FROM employees WHERE salary > 50000; ``` #### 7.1.3 逻辑运算符 逻辑运算符用于组合或修改条件语句的结果,主要用于WHERE子句或IF()等函数中。 - **AND**:逻辑与,如果两个条件都为TRUE,则结果为TRUE;否则为FALSE。 - **OR**:逻辑或,如果任一条件为TRUE,则结果为TRUE;两个条件都为FALSE时,结果为FALSE。 - **NOT**:逻辑非,反转条件的结果。如果条件为TRUE,则结果为FALSE;如果条件为FALSE,则结果为TRUE。 **示例**: ```sql SELECT * FROM employees WHERE department_id = 1 AND salary > 60000; ``` #### 7.1.4 位运算符 位运算符对整数类型的数据进行按位操作,如位与、位或、位非等。这些运算符在处理二进制数据时非常有用。 - **&**:位与(AND)。 - **|**:位或(OR)。 - **^**:位异或(XOR)。 - **~**:位非(NOT)。 - **<<**:左移。 - **>>**:右移。 **注意**:位运算符的使用相对专业,通常用于需要精确控制数据位级的场景。 **示例**: ```sql SELECT 5 & 3 AS BitwiseAND, 5 | 3 AS BitwiseOR, 5 ^ 3 AS BitwiseXOR; ``` #### 7.1.5 字符串运算符 MySQL中的字符串运算符主要用于字符串的连接和比较。 - **||** 或 **CONCAT()**:用于连接两个或多个字符串。MySQL的默认行为可能因版本而异,建议使用`CONCAT()`函数以确保兼容性。 - **=**、**<>**、**<**、**>**、**<=**、**>=**(字符串比较):当用于字符串时,这些比较运算符基于字符的ASCII(或Unicode)值进行比较。 - **LIKE** 和 **NOT LIKE**:用于在字符串中搜索模式。 - **REGEXP** 和 **NOT REGEXP**:使用正则表达式进行更复杂的模式匹配。 **示例**: ```sql SELECT CONCAT('Hello, ', 'World!') AS ConcatenatedString; SELECT * FROM users WHERE username LIKE 'J%'; ``` #### 7.1.6 特殊运算符 MySQL还提供了一些特殊运算符,用于处理特定的数据操作或查询需求。 - **IS NULL** 和 **IS NOT NULL**:用于检查一个值是否为NULL。 - **BETWEEN ... AND ...**:用于选取介于两个值之间的数据范围(包括边界值)。 - **IN**:用于指定多个可能的值,以便在WHERE子句中进行匹配。 - **CASE**:条件表达式,类似于其他编程语言中的switch或if-else语句,用于在SQL查询中实现复杂的条件逻辑。 **示例**: ```sql SELECT * FROM products WHERE price BETWEEN 10 AND 100; SELECT * FROM employees WHERE department_id IN (1, 3, 5); SELECT name, CASE WHEN salary <= 30000 THEN 'Junior' WHEN salary BETWEEN 30001 AND 70000 THEN 'Mid-Level' ELSE 'Senior' END AS Level FROM employees; ``` ### 总结 MySQL中的运算符是实现复杂数据操作和逻辑判断的重要工具。通过掌握算术运算符、比较运算符、逻辑运算符、位运算符、字符串运算符以及特殊运算符的使用,可以有效地构建出满足各种需求的SQL查询语句。在实际应用中,根据具体的数据处理需求选择合适的运算符,是提升数据库操作效率和准确性的关键。希望本章内容能够帮助读者更好地理解MySQL中的运算符,并在实际工作中灵活运用。
上一篇:
6.6 删除表(DROP TABLE语句)
下一篇:
7.1.1 算术运算符
该分类下的相关小册推荐:
MySQL8.0入门与实践
MySQL从入门到精通(四)
SQL零基础到熟练应用(增删改查)
细说MySQL(零基础到高级应用)
MySQL必会核心问题
MySQL从入门到精通(三)
MySQL从入门到精通(一)
MySQL从入门到精通(五)
MySQL 实战 45 讲