更改 mysql 的默认排序行为

ɢʜʘ*_*ɔʘɴ 5 mysql sql database sorting

我的数据库中有一张表。

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| rollno | int(11)     | NO   |     | NULL    |                |
| name   | varchar(20) | NO   |     | NULL    |                |
| marks  | int(11)     | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

默认情况下,如果我查询

select * from students;
Run Code Online (Sandbox Code Playgroud)

显示按 排序的结果id INT (auto-increment)

+----+--------+------------+-------+
| id | rollno | name       | marks |
+----+--------+------------+-------+
|  1 |     65 | John Doe   |    89 |
|  2 |     62 | John Skeet |    76 |
|  3 |     33 | Mike Ross  |    78 |
+----+--------+------------+-------+
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我想更改默认排序行为并rollno设置默认排序字段,我该怎么做?

jue*_*n d 5

没有默认的排序顺序!

DB 以尽可能最快的方式返回数据。如果这恰好是它的存储顺序或定义了密钥,那么这取决于系统。你不能依赖这一点。

想想看:如果您不需要订购某些东西,为什么数据库会默认使用性能来订购某些东西。DB 针对速度进行了优化。

如果您希望对其进行排序,则必须在子句中指定order by