os : linux
数据库: musql 8.0.25
今天工作中遇到了如何查询单个分区中数据的问题,记录下以便于后续再次遇到此问题就可以直接查询该文章了。
建表语句和插入数据的SQL语句如下:
- drop table if exists tt;
-
- create table tt (c1 int primary key, c2 varchar(50))engine=xxx partition by hash(c1) partitions 2 (partition p1, partition p2);
-
- insert into tt values(1,'aa'), (2,'bb'), (3, 'cc'), (4, 'dd'), (5, 'ee');
-
其他的建表语句可以参考:MySQL中创建partition表的几种方式_一缕阳光a的博客-CSDN博客
查询单个partition中的数据的SQL如下:
- mysql[test]> select * from tt;
- +----+------+
- | c1 | c2 |
- +----+------+
- | 2 | bb |
- | 4 | dd |
- | 1 | aa |
- | 3 | cc |
- | 5 | ee |
- +----+------+
- 5 rows in set (0.01 sec)
-
- mysql[test]> select * from tt partition (p1);
- +----+------+
- | c1 | c2 |
- +----+------+
- | 2 | bb |
- | 4 | dd |
- +----+------+
- 2 rows in set (0.01 sec)
-
- mysql[test]> select * from tt partition (p2);
- +----+------+
- | c1 | c2 |
- +----+------+
- | 1 | aa |
- | 3 | cc |
- | 5 | ee |
- +----+------+
- 3 rows in set (0.01 sec)