MySQL基本操作03
MySQL基本简单操作
现在我创建了一个数据表,表的内容如下:
mysql> select * from gubeiqing_table; +----------+-----+ | name | age | +----------+-----+ | gbq | 21 | | zhangsan | 20 | | lisi | 22 | +----------+-----+ 3 rows in set (0.00 sec)
我现在需要对这些数据按照年龄进行一个升序排序。
mysql> select * from gubeiqing_table order by age ASC; +----------+-----+ | name | age | +----------+-----+ | zhangsan | 20 | | gbq | 21 | | lisi | 22 | +----------+-----+ 3 rows in set (0.00 sec)
可以看到现在的数据库已经按照升序的方式进行排序了。
order by
是用来排序的,ASC
是升序排序,DESC
是降序排序。
现在我有一个这样的数据表。
mysql> select * from gubeiqing_table; +----------+-----+ | name | age | +----------+-----+ | gbq | 21 | | zhangsan | 20 | | lisi | 22 | | zhangsi | 21 | | lisan | 22 | +----------+-----+ 5 rows in set (0.00 sec)
我想知道这个数据表里有哪些年龄段。
mysql> select age from gubeiqing_table group by age; +-----+ | age | +-----+ | 21 | | 20 | | 22 | +-----+ 3 rows in set (0.00 sec)
首先从数据表中查找age
字段,接着通过group by
将这些年龄分组。
还可以统计这些年龄分别有多少人。
mysql> select age,count(*) from gubeiqing_table group by age; +-----+----------+ | age | count(*) | +-----+----------+ | 21 | 2 | | 20 | 1 | | 22 | 2 | +-----+----------+ 3 rows in set (0.00 sec)
接着学一下联合查询,使用UNION
,UNION
用于连接两个以上的SELECT
语句的结果组合到一个结果集合中,多个SELECT
语句会删除重复的数据。。
mysql> show tables; +---------------------+ | Tables_in_gubeiqing | +---------------------+ | gbq | | gubeiqing_table | +---------------------+ 2 rows in set (0.00 sec) mysql> select * from gbq; +------+-----+ | name | age | +------+-----+ | qaz | 20 | | wsx | 23 | | edc | 21 | +------+-----+ 3 rows in set (0.00 sec) mysql> select * from gubeiqing_table; +----------+-----+ | name | age | +----------+-----+ | gbq | 21 | | zhangsan | 20 | | lisi | 22 | | zhangsi | 21 | | lisan | 22 | +----------+-----+ 5 rows in set (0.00 sec)
我现在想查看两个表
mysql> select age from gbq -> union -> select age from gubeiqing_table; +-----+ | age | +-----+ | 20 | | 23 | | 21 | | 22 | +-----+ 4 rows in set (0.00 sec)
现在看到的是所有的值,但是并不是这个字段所以的值。用UNION
看到的是去重之后的所有值,如果不想去重那么要使用UNION ALL
。
mysql> select age from gbq -> union all -> select age from gubeiqing_table; +-----+ | age | +-----+ | 20 | | 23 | | 21 | | 21 | | 20 | | 22 | | 21 | | 22 | +-----+ 8 rows in set (0.00 sec)
这样就看到了全部的值。
各位大佬不介意的话我只想要一点流量。个人博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App