MySQL 的查询语句(通常称为 SQL 查询)是数据库操作中非常重要的一部分。以下是一些基本的 MySQL 查询语句示例,这些示例涵盖了常见的查询类型和用法:
一、基础查询
选择所有数据
SELECT * FROM 表名;
选择特定列
SELECT 列名1, 列名2 FROM 表名;
带条件的查询
SELECT * FROM 表名 WHERE 条件;
例如:SELECT * FROM users WHERE age > 30;
排序查询结果
SELECT * FROM 表名 ORDER BY 列名 [ASC|DESC];
例如:SELECT * FROM users ORDER BY age DESC;
限制查询结果的数量
SELECT * FROM 表名 LIMIT 数量;
或者结合偏移量:SELECT * FROM 表名 LIMIT 偏移量, 数量;
例如:SELECT * FROM users LIMIT 10; -- 获取前10条记录 SELECT * FROM users LIMIT 10, 5; -- 从第11条开始获取5条记录
插入数据
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
更新数据
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;
删除数据
DELETE FROM 表名 WHERE 条件;
二、函数使用
字符串函数- ####
CONCAT(str1, str2, ...)
: 连接字符串-LENGTH(str)
: 返回字符串的长度-UPPER(str)
: 将字符串转换为大写-LOWER(str)
: 将字符串转换为小写-TRIM(str)
: 去除字符串两侧的空格数值函数-
ROUND(num, decimals)
: 对数字进行四舍五入-CEIL(num)
: 返回大于或等于给定数字的最小整数(向上取整)-FLOOR(num)
: 返回小于或等于给定数字的最大整数(向下取整)-ABS(num)
: 返回数字的绝对值日期和时间函数-
NOW()
: 返回当前日期和时间-CURDATE()
: 返回当前日期-CURTIME()
: 返回当前时间-DATE_FORMAT(date, format)
: 格式化日期/时间-DAY(date)
: 返回日期的天数部分-MONTH(date)
: 返回日期的月份部分-YEAR(date)
: 返回日期的年份部分聚合函数-
COUNT(*)
: 返回匹配的行数-SUM(column_name)
: 返回某列的总和-AVG(column_name)
: 返回某列的平均值-MAX(column_name)
: 返回某列的最大值-MIN(column_name)
: 返回某列的最小值
三、高级查询
分组和聚合
SELECT 列名, COUNT(*), SUM(列名), AVG(列名) FROM 表名 GROUP BY 列名;
HAVING 子句(与 GROUP BY 结合使用,用于过滤分组后的结果)
SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名 HAVING 条件;
连接(JOIN)表- INNER JOIN- LEFT JOIN- RIGHT JOIN- FULL JOIN(在 MySQL 中通常使用 LEFT JOIN + UNION + RIGHT JOIN 来模拟)
SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
子查询- 在 SELECT 语句中使用子查询- 在 FROM 子句中使用子查询(内联视图)- 在 WHERE 子句中使用子查询
联合查询(UNION)- 使用 UNION 或 UNION ALL 合并多个查询的结果集
使用 DISTINCT 去除重复项
SELECT DISTINCT 列名 FROM 表名;
IN 和 NOT IN- 用于在 WHERE 子句中指定多个可能的值
EXISTS 和 NOT EXISTS- 用于检查子查询是否返回结果
CASE 语句- 在 SELECT 语句中执行条件逻辑
LIKE 和通配 -
%
:代表零个、一个或多个字符-_
:代表一个字符SELECT * FROM users WHERE name LIKE 'Jo%'; -- 选择名字以 "Jo" 开头的用户
总结 :
在MySQL学习中,我深入了解了基础查询、函数使用和高级查询。以下是我的简短心得:
基础查询:
- 掌握
SELECT
,FROM
,WHERE
等基本语句,明确表结构和字段含义,确保查询准确。 - 逻辑清晰,合理使用逻辑操作符,精准筛选数据。
函数使用:
- 熟悉常用函数,如字符串处理、日期计算和聚合函数,增强查询功能。
- 结合函数和查询语句,实现复杂数据处理和分析。
高级查询:
- 理解子查询、连接查询和联合查询的原理和应用,处理复杂数据关系。
- 注意查询性能,优化查询语句和数据库设计,提高执行效率。
总的来说,MySQL查询语句的学习需要不断实践,通过理解其原理和技巧,可以更有效地管理和分析数据。
版权归原作者 何章宝 所有, 如有侵权,请联系我们删除。