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

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

相关推荐
xcLeigh12 分钟前
KingbaseES数据库:本地连接全攻略!从环境检查到问题排查,新手也能轻松上手
数据库
rexling116 分钟前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
Deamon Tree18 分钟前
如何保证缓存与数据库更新时候的一致性
java·数据库·缓存
大G的笔记本27 分钟前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
洲覆1 小时前
go-mysql-transfer 伪装从库实现 MySQL 到 Redis 数据同步(完整配置)
数据库·redis·mysql·golang
谅望者1 小时前
SQL 自连接详解:当数据表需要与自己对话(组织层级实战)
数据库·sql·mysql·oracle·database
姚远Oracle ACE1 小时前
解读 “SQL ordered by Physical Reads (UnOptimized)“
数据库·sql·oracle
山峰哥1 小时前
KingbaseES 表空间与模式优化策略深度研究报告
开发语言·数据结构·数据库·oracle·深度优先
九转苍翎2 小时前
深入解析MySQL(6)——存储过程、游标与触发器
数据库·mysql
武子康2 小时前
Java-164 MongoDB 认证与权限实战:单实例与分片集群 整体认证配置实战 最小化授权/错误速查/回滚剧本
java·数据库·分布式·mongodb·性能优化·系统架构·nosql