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

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

相关推荐
皮皮林5513 分钟前
面试官问:你写代码会复用公共 SQL 么?
mysql
YuTaoShao1 小时前
Java八股文——Spring「Spring 篇」
java·数据库·spring
一线大码2 小时前
SpringBoot 和 MySQL 的事务隔离级别关系
spring boot·后端·mysql
新知图书2 小时前
扣子数据库实战案例:搭建AI登记助手
数据库·智能体·扣子
在未来等你2 小时前
SQL进阶之旅 Day 28:跨库操作与ETL技术
sql·mysql·postgresql·etl·cross-database·data-integration·database-optimization
麦兜*2 小时前
【Mysql及各种关系型数据库全面对比与深度解析(2025版)】
数据库·sql·mysql·postgresql·oracle·sqlserver·mariadb
懒羊羊大王呀2 小时前
Ubuntu20.04中MySQL的安装和配置
linux·mysql·ubuntu
扶光与望舒呀2 小时前
mysql 的卸载- Windows 版
数据库·mysql
星垣矩阵架构师3 小时前
架构设计之存储高性能——非关系型数据库(NoSQL)
数据库·架构·nosql
明月看潮生3 小时前
青少年编程与数学 01-011 系统软件简介 16 Redis数据库
数据库·redis·青少年编程·编程与数学