前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL查询

MySQL查询

原创
作者头像
是山河呀
发布2025-01-26 16:33:55
发布2025-01-26 16:33:55
8500
代码可运行
举报
文章被收录于专栏:Linux代码Linux代码
运行总次数:0
代码可运行

概述

MySQL查询是数据库操作中最常用的操作之一,通过查询可以从数据库中按照一些条件来检索数据,本文介绍了MySQL查询的基本语法和常用操作。

基本查询

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user; -- 查询所有数据
SELECT name, age FROM user; -- 查询name和age列
SELECT name AS userName, age FROM user; -- 查询name和age列,并将name列别名为userName
SELECT user.name, user.age FROM test.user; -- 查询user表的name和age列,限定表名和库名,等同于SELECT name, age FROM user;

去重

代码语言:javascript
代码运行次数:0
复制
SELECT DISTINCT name FROM user; -- 查询user表中name列并根据name列去重
SELECT DISTINCT name,age FROM user; -- 查询user表中name和age列并根据name和age列去重

行数

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user LIMIT 1; -- 查询user表的第1行数据
SELECT * FROM user LIMIT 5; -- 查询user表的前5行数据
SELECT * FROM user LIMIT 5,5; -- 查询user表的第6行到第10行数据
SELECT * FROM user LIMIT 5 OFFSET 5; -- 查询user表的第6行到第10行数据 等同于SELECT * FROM user LIMIT 5,

排序

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user ORDER BY age DESC; -- 查询user表的所有数据并根据age列降序排序,从大到小
SELECT * FROM user ORDER BY age ASC; -- 查询user表的所有数据并根据age列升序排序,从小到大
SELECT * FROM user ORDER BY age DESC, name ASC; -- 查询user表的所有数据并根据age列降序排序,age列相同时根据name列升序排序

过滤

过滤

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user WHERE age = 20; -- 查询age等于20的所有数据
SELECT * FROM user WHERE age > 20; -- 查询age大于20的所有数据
SELECT * FROM user WHERE age >= 20; -- 查询age大于等于20的所有数据
SELECT * FROM user WHERE age < 20; -- 查询age小于20的所有数据
SELECT * FROM user WHERE age <= 20; -- 查询age小于等于20的所有数据
SELECT * FROM user WHERE age <> 20; -- 查询age不等于20的所有数据
SELECT * FROM user WHERE age != 20; -- 查询age不等于20的所有数据
SELECT * FROM user WHERE age BETWEEN 20 AND 30; -- 查询age在20到30之间的所有数据
SELECT * FROM user WHERE age IS NULL; -- 查询age为空的所有数据
SELECT * FROM user WHERE age IS NOT NULL; -- 查询age不为空的所有数据
SELECT * FROM user WHERE name IN ('张三', '李四'); -- 查询name为张三或李四的所有数据
SELECT * FROM user WHERE name NOT IN ('张三', '李四'); -- 查询name不为张三或李四的所有数据 NOT是取反

条件组合

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user WHERE age = 20 AND name = '张三'; -- 查询age等于20且name为张三的所有数据
SELECT * FROM user WHERE age = 20 OR name = '张三'; -- 查询age等于20或name为张三的所有数据
SELECT * FROM user WHERE age = 20 AND name = '张三' OR name = '李四'; -- 查询age等于20且name为张三或name为李四的所有数据
SELECT * FROM user WHERE (age = 20 AND name = '张三') OR name = '李四'; -- 查询age等于20且name为张三或name为李四的所有数据
SELECT * FROM user WHERE age = 20 AND (name = '张三' OR name = '李四'); -- 查询age等于20且name为张三或name为李四的所有数据
SELECT * FROM user WHERE age = 20 AND name IN ('张三', '李四'); -- 查询age等于20且name为张三或李四的所有数据
SELECT * FROM user WHERE name IN ('张三', '李四') AND age IS NOT NULL ; -- 查询name为张三或李四且age不为空的所有数据

通配符

%表示任意字符,_表示一个字符,[]表示其中一个,[^]表示不包含所有

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user WHERE name LIKE '张%'; -- 查询name以张开头的所有数据
SELECT * FROM user WHERE name LIKE '%三'; -- 查询name以三结尾的所有数据
SELECT * FROM user WHERE name LIKE '%张%'; -- 查询name中包含张的所有数据
SELECT * FROM user WHERE name LIKE '_张%'; -- 查询name第二个字符为张的所有数据
SELECT * FROM user WHERE name LIKE '张__'; -- 查询name以张开头且长度为3的所有数据
SELECT * FROM user WHERE name LIKE '张[三四]'; -- 查询name第一个字符为张且第二个字符为三或四的所有数据
SELECT * FROM user WHERE name LIKE '张[^三四]'; -- 查询name第一个字符为张且第二个字符不为三或四的所有数据

正则表达式

^表示开头,$表示结尾,|表示或,.*表示任意字符,.{n}表示任意字符n次,[]表示其中一个,[^]表示不包含所有

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM user WHERE name REGEXP '张'; -- 查询name中包含张的所有数据
SELECT * FROM user WHERE name REGEXP '^张'; -- 查询name以张开头的所有数据
SELECT * FROM user WHERE name REGEXP '三$'; -- 查询name以三结尾的所有数据
SELECT * FROM user WHERE name REGEXP '张|李'; -- 查询name中包含张或李的所有数据
SELECT * FROM user WHERE name REGEXP '张$|李$'; -- 查询name以张或李结尾的所有数据
SELECT * FROM user WHERE name REGEXP '张.*三'; -- 查询name中张开头且三结尾的所有数据
SELECT * FROM user WHERE name REGEXP '张.{2}三'; -- 查询name中张开头且三结尾且长度为4的所有数据
SELECT * FROM user WHERE name REGEXP '张[三四]'; -- 查询name中张开头且第二个字符为三或四的所有数据
SELECT * FROM user WHERE name REGEXP '张[^三四]'; -- 查询name中张开头且第二个字符不为三或四的所有数据

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 基本查询
  • 去重
  • 行数
  • 排序
  • 过滤
    • 过滤
    • 条件组合
    • 通配符
    • 正则表达式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档