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 函数可以获取字符串的实际长度(以字符为单位),而不考虑字符串中是否包含空格或其他特殊字符。

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

相关推荐
VX:Fegn089533 分钟前
计算机毕业设计|基于springboot + vue智慧医药系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
安当加密6 小时前
MySQL 数据库如何加密脱敏?TDE透明加密 + DBG数据库网关 双引擎加固实战
数据库·mysql·adb
IT技术分享社区7 小时前
MySQL统计查询优化:内存临时表的正确打开方式
数据库·mysql·程序员
短剑重铸之日7 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
好记忆不如烂笔头abc7 小时前
RECOVER STANDBY DATABASE FROM SERVICE xxx,ORA-19909
数据库
writeone7 小时前
数据库习题
数据库
廋到被风吹走8 小时前
【数据库】【Oracle】分析函数与窗口函数
数据库·oracle
陌北v19 小时前
为什么我从 MySQL 迁移到 PostgreSQL
数据库·mysql·postgresql
北辰水墨9 小时前
Protobuf:从入门到精通的学习笔记(含 3 个项目及避坑指南)
数据库·postgresql
JIngJaneIL9 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot