当在Mac终端mysql内使用 order by 命令对数据库表内的数据进行排序时,其生命周期在任务开始到任务运行结束时结束,order by 并不会对数据库表内的数据进行本质的排序。
代码如下:
(当运用order by对table->student进行排序)
mysql> select *from student where isdelete=0 and gender='男' order by id desc;
+----+-----------+--------+-------+-----+--------------------+-------+
| id | name | gender | birth | age | isdelete | heigh |
+----+-----------+--------+-------+-----+--------------------+-------+
| 8 | 郭靖 | 男 | NULL | 16 | 0x00 | NULL |
| 7 | 黄狗 | 男 | NULL | 15 | 0x00 | NULL |
| 6 | 黄麻子 | 男 | NULL | 18 | 0x00 | NULL |
| 1 | 李四 | 男 | NULL | 12 | 0x00 | 1.56 |
+----+-----------+--------+-------+-----+--------------------+-------+
4 rows in set (0.00 sec)
(当程序运行结束再次使用select *from student;查看表数据时)
mysql> select *from student;
+----+-----------+--------+-------+-----+--------------------+-------+
| id | name | gender | birth | age | isdelete | heigh |
+----+-----------+--------+-------+-----+--------------------+-------+
| 1 | 李四 | 男 | NULL | 12 | 0x00 | 1.56 |
| 2 | 小明 | 女 | NULL | 12 | 0x00 | 1.76 |
| 4 | 张三 | 男 | NULL | 15 | 0x01 | 1.70 |
| 5 | 小红 | 女 | NULL | 17 | 0x00 | 1.65 |
| 6 | 黄麻子 | 男 | NULL | 18 | 0x00 | NULL |
| 7 | 黄狗 | 男 | NULL | 15 | 0x00 | NULL |
| 8 | 郭靖 | 男 | NULL | 16 | 0x00 | NULL |
+----+-----------+--------+-------+-----+--------------------+-------+
7 rows in set (0.00 sec)
表内数据并没有因为order by命令而更改其本来的顺序。