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

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

相关推荐
胚芽鞘68119 分钟前
关于java项目中maven的理解
java·数据库·maven
nbsaas-boot1 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
sun0077004 小时前
mysql索引底层原理
数据库·mysql
程序员秘密基地4 小时前
基于html,css,vue,vscode,idea,,java,springboot,mysql数据库,在线旅游,景点管理系统
java·spring boot·mysql·spring·web3
workflower6 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
叁沐6 小时前
MySQL 11 怎么给字符串字段加索引?
mysql
Tony小周6 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen7 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)7 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客7 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene