MySql 中 select 使用

mysql,select · 浏览次数 : 0

小编点评

本文主要介绍了MySQL中常用的查询操作,包括简单查询、带条件查询、多条件查询、输出指定字段查询、分组查询、查询结果排序和分页查询。通过结合实际案例,展示了如何使用这些查询操作来满足不同的数据检索需求。 1. **简单查询**:介绍了如何使用`SELECT * FROM 表名`执行查询语句,以获取表中的所有数据。 2. **带条件查询**:讲解了如何在查询语句后添加`WHERE`关键字,并使用`AND`或`OR`连接多个条件,以实现精确查询。 3. **多条件查询**:说明了如何使用`AND`和`OR`逻辑运算符来组合多个条件,以便根据满足一个或多个条件的结果进行查询。 4. **输出指定字段查询**:描述了如何指定需要查询的字段,而不是查询所有字段,以提高查询效率。 5. **分组查询**:解释了如何使用`GROUP BY`子句对查询结果进行分组,以便对某一列或多列进行统计和分析。 6. **查询结果排序**:展示了如何使用`ORDER BY`子句对查询结果进行排序,包括升序(ASC)和降序(DESC)排列。 7. **分页查询**:介绍了如何使用`LIMIT`和`OFFSET`关键字来实现分页查询,以便将查询结果限制为特定的记录数和显示顺序。 通过以上归纳总结,本文涵盖了MySQL中查询操作的各个方面,有助于用户更好地理解和运用这些查询语句。

正文

MySql select 多种查询方式

前言

在数据库使用过程中,使用最多的场景就是查询数据,所以今天我们总结一下常用用的查询

  • 简单查询
  • 带条件查询
  • 多条件查询
  • 输出指定字段查询
  • 分组查询
  • 查询结果排序
  • 分页查询
  • 多表之间查询

准备三张表:订单 orders 商品 commodity 用户 users 内容如下:
orders 表:

users 表:

commodity 表:

简单查询

语法:

select * from 表名

执行查询语句, 查询 commodity 表所有数据

select * from commodite ;

WHERE 带条件查询

  • 带条件查询是在select 语句后面添加 where
  • 可以使用 and 或者 or 链接一个或多个条件
  • and 同时要满足两个或两个以上条件
  • or 满足两个或两个以上其中一个条件
    操作符:
  • = 等于 !=,<> 不等于 > 大于 < 小于 >= 大于等于 <=
    语法
select * from 表名 where 条件1 and 条件2 or 条件3 ;

列子:查询 commodity 表中 id = 1 的商品信息

select * from commodity where id = 1 ;

多条件查询

查询 commodity 表中 order_id = 1 并且 user_id = 1

select * from commodity where order_id = 1 and user_id = 1 ;

查询 commodity 表中 order_id = 1 或者 user_id = 1

select * from commodity where order_id = 1 or user_id = 1 ;

输出指定字段查询

在查询表数据的时,有时我们只需要其中几个字段,这个是我们指定需要字段即可
语法

select 列1, 列2, ... from 表明 WHERE 条件可选

下面我们查询 commodity 表输出 商品名

select c_name from commodity ;

结果只输出了 c_name 一列数据

下面我们添加条件查询看下效果

select c_name from commodity where order_id = 1 ;

分组查询

在实际使用是,我们还会用到根据其中一列分组查询,下面我们看下语法

select 用于分组的列, 用于运算的列 from commodity group by 用于分组的列

下面我们查询 commodity ,按照 order_id 进行分组

select order_id from commodity group by order_id;

按照 order_id 分组之后我们再看下每一组具体有多少条数据

select order_id, COUNT(order_id) from commodity group by order_id;

  • 按照 order_id 分组,计算每一组数量 count(order_id)

查询结果排序

很多时候我们需要对查询结果进行排序这个时候我们会用到 order by

select * from 表名 order by 排序字段 排序规则

排序规则

  • DESC 降序
  • ASC 升序 默认

现在我们查询一下 commodity 结果按 order_id 排序

select * from commodity order by order_id ASC ;

select * from commodity order by order_id DESC ;

分页查询

在实际业务常常会用到分页查询功能
语法

select * from commodity limit 条数 offset 起始位置;

下面我们查询 commodity 表,从第二条开始查询,结果输出两条数据

select * from commodity limit 2 offset 1;

下面我们把上面的所有语法练习一下

查询 commodity 表,条件是order_id = 1 或者 user_id != 4 按照 order_id 分组 按照user_id 排序 输出 order_id user_id 列 查询结果从第二条开始 只查询两条

select order_id, user_id from commodity where order_id = 1 or user_id != 4 group by order_id, user_id order by user_id DESC limit 4 offset 1;

与MySql 中 select 使用相似的内容:

MySql 中 select 使用

MySql select 多种查询方式 前言 在数据库使用过程中,使用最多的场景就是查询数据,所以今天我们总结一下常用用的查询 简单查询 带条件查询 多条件查询 输出指定字段查询 分组查询 查询结果排序 分页查询 多表之间查询 准备三张表:订单 orders 商品 commodity 用户 user

MySQL 导出一条数据的插入语句

1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一个文件中),或者我们可以手动构建插入语句。但是,为了简单和直观,这里我将展示如何手动从MySQL查询

MySQL使用笔记

查询结果导出到文件 终端命令下直接导出 除了在mysql命令行下导出查询结果,还可以在终端直接导出查询结果到文件中: mysql -uroot -p -e "select * from test" > xxx.csv 如果导出结果中涉及到中文,可以使用--default-character-set=

[转帖]深入理解mysql-第十一章 mysql查询优化-Explain 详解(中)

一、执行计划-type属性 执行计划的一条记录就代表着MySQL对某个表的执行查询时的访问方法,其中的type列就表明了这个访问这个单表的方法具体是什么,比方说下边这个查询: mysql> EXPLAIN SELECT * FROM s1 WHERE key1 = 'a';+ + + + + + +

MySQL基础4-数据查询

一、DQL介绍 DQL全称:Data Query Language(数据查询语言),用来查询数据库中表的记录。 关键字:select 二、DQL语法 select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序

[转帖]MySQL快速备份表

https://www.cnblogs.com/JaxYoun/p/14264593.html 1、复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来

MySQL中为什么要使用索引合并(Index Merge)?

本文介绍了索引合并(Index Merge)包含的三种类型,即交集(intersection)、并集(union)和排序并集(sort-union),以及索引合并的实现原理、场景约束与通过案例验证的优缺点。

MYSQL中怎么查询LONGBLOB类型数据的大小

在MySQL中,LONGBLOB 是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据。但是,LONGBLOB 数据类型本身并不直接存储数据的大小(长度)。它存储的是二进制数据的实际内容。 1.查询 LONGBLOB 字段中的数据大小的方法示例 要查询 LONGBLOB 字段中的数据大小

MySql中执行计划如何来的——Optimizer Trace

当谈到MySQL的执行计划时,会有很多同学想:“我就觉得使用其他的执行方案比EXPLAIN语句输出的方案强,凭什么优化器做的决定与我得不一样?”。这个问题在MySQL 5.6之前或许自己很难解决,但是现在MySQL5.6及更高的版本中引入了Optimizer Trace。

MYSQL中JSON类型介绍

在mysql未支持json数据类型时,我们通常使用varchar、blob或text的数据类型存储json字符串,对mysql来说,用户插入的数据只是序列化后的一个普通的字符串,不会对JSON文档本身的语法合法性做检查,文档的合法性需要用户自己保证。在使用时需要先将整个json对象从数据库读取出来,在内存中完成解析及相应的计算处理,这种方式增加了数据库的网络开销并降低处理效率