Mysql 的自然序并“无序”

Mysql 的自然序并“无序”

1.问题

mysql 的执行结果中,是否是按照主键有序排列的?

2.实战
2.1创建带有主键,唯一索引表
  • 创建表animals
mysql> create table animals(id int primary key,name varchar(30),unique key(name))engine = innodb;
Query OK, 0 rows affected (0.20 sec)
  • 插入数据
mysql> insert into animals values
    -> (1,'Tiger'),
    -> (2,'Dog'),
    -> (3,'cat');
Query OK, 3 rows affected (0.03 sec)
Records: 3  Duplicates: 0  Warnings: 0
  • 选择数据
mysql> select * from animals;
+----+-------+
| id | name  |
+----+-------+
|  3 | cat   |
|  2 | Dog   |
|  1 | Tiger |
+----+-------+
3 rows in set (0.00 sec)

从选择的结果集中可以看出,这里的结果集是跟主键没有关系的(倒是和这个唯一索引有些关系

2.1创建仅有主键表
  • 创建student
    create table student(id int primary key,name varchar(20));
  • 插入数据
insert into student values
(1,'Hadoop'),
(2,'spark'),
(3,'java'),
(4,'scala');
  • 执行选择
mysql> select * from student;
+----+--------+
| id | name   |
+----+--------+
|  1 | Hadoop |
|  2 | spark  |
|  3 | java    |
|  4 | scala  |
+----+--------+
4 rows in set (0.00 sec)
  • 如果在name上添加一个唯一索引?
mysql> alter table student add unique index uid_name(name);^C
  • 再次选择
mysql> select * from student;
+----+--------+
| id | name   |
+----+--------+
|  1 | Hadoop |
|  3 | java   |
|  4 | scala  |
|  2 | spark  |
+----+--------+
4 rows in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说文科技

看书人不妨赏个酒钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值