MySQL【查询】

与查询直接相关的语句

基本查询语句:包括SELECT、INSERT、UPDATE和DELETE等SQL语句,用于执行常见的数据操作。

**WHERE子句:**用于指定条件,限制SELECT语句返回的行。

SELECT语句示例:

sql 复制代码
-- 检索所有列的数据
SELECT * FROM TableName;

-- 检索指定列的数据
SELECT column1, column2 FROM TableName;

-- 使用WHERE子句过滤数据
SELECT * FROM TableName WHERE condition;

-- 使用ORDER BY子句排序结果
SELECT * FROM TableName ORDER BY column ASC/DESC;

-- 使用LIMIT子句限制结果集行数
SELECT * FROM TableName LIMIT 10;

-- 使用GROUP BY子句对数据分组
SELECT column, COUNT(*) FROM TableName GROUP BY column;

-- 使用HAVING子句过滤分组结果
SELECT column, COUNT(*) FROM TableName GROUP BY column HAVING COUNT(*) > 1;

-- 使用JOIN操作关联多个表
SELECT t1.column1, t2.column2 FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id = t2.id;

INSERT语句示例

sql 复制代码
-- 插入单行数据
INSERT INTO TableName (column1, column2) VALUES (value1, value2);

-- 插入多行数据
INSERT INTO TableName (column1, column2) VALUES (value1, value2), (value3, value4);

UPDATE语句示例

sql 复制代码
-- 更新单个字段的数据
UPDATE TableName SET column1 = newValue WHERE condition;

-- 更新多个字段的数据
UPDATE TableName SET column1 = newValue1, column2 = newValue2 WHERE condition;

DELETE语句示例

sql 复制代码
-- 删除满足条件的数据
DELETE FROM TableName WHERE condition;
sql 复制代码
IFNULL(expression, replacement_value)

IFNULL 是一种在 SQL 中常用的函数,用于检查表达式是否为 NULL,如果为 NULL,则返回指定的替代值;如果不为

NULL,则返回表达式本身的值

  • expression 是要检查是否为 NULL 的表达式;
  • replacement_value 是当 expression 为 NULL 时要返回的替代值。

例如,假设有一个表 students 包含 id 和 name 字段,如果 name 为 NULL,则将其替换为 "Unknown",可以使用如下查询

sql 复制代码
SELECT id, IFNULL(name, 'Unknown') AS name FROM students;

排序为 order by

  • ASC 是升序
  • DESC是降序

假设我们有一个名为 students 的表,包含 id、name 和 age 字段,我们想按照 age 字段进行排序,首先按照年龄的升序排列,然后按照姓名的降序排列。可以使用以下 SQL 查询:

sql 复制代码
SELECT id, name, age
FROM students
ORDER BY age ASC, name DESC;
复制代码
DISTINCT 

以上为 去重 关键字

sql 复制代码
SELECT DISTINCT age
FROM students;

如果我们想获取不重复的年龄和姓名的组合,可以这样查询:

sql 复制代码
SELECT DISTINCT age, name
FROM students;

获取字符串的长度关键字

复制代码
LENGTH

"严格大于" 等同于 "绝对大于或者不包括等于的情况"

假设我们有一个名为 employees 的表,包含 id 和 name 字段,我们想获取名字长度严格大于 5 的员工的信息。可以使用以下 SQL 查询

sql 复制代码
SELECT id, name
FROM employees
WHERE LENGTH(name) > 5;

ps:请注意,使用 LENGTH 函数可以获取字符串的实际长度(以字符为单位),而不考虑字符串中是否包含空格或其他特殊字符。

"严格大于" 意味着只有在长度大于给定值的情况下才会被包含在结果中,而不包括长度等于给定值的情况。

相关推荐
Wang's Blog30 分钟前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
毕业设计7031 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
蓝速科技2 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析2 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)3 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
l1t4 小时前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
冰暮流星4 小时前
mysql之表子查询
数据库·mysql
Full Stack Developme5 小时前
CRM相关库表设计
数据库
步行cgn5 小时前
Spring 注入 Map 集合详解
数据库·python·spring
风跟我说过她6 小时前
SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
数据库·python·sql·开源·开源软件