学习笔记:MySQL—表的约束(主键约束)

学习笔记

主键约束

**

一.主键约束(primary key)
主键约束的字段值不能相同不能为空,效果同‘not null unique’相同
但是主键约束后的字段有索引值(如下图)

索引

二.两种写法
1.列级约束

create table t_user(
	id int(4) primary key,
	name varchar(32) not null
);

2.表级约束

create table t_user(
 	id int(4),
 	name varchar(32) not null,
	primary key(id,name)
);
  • 上边 primary key(id,name)可以id或name其中之一重复,不能都重复,且都不为空
  • 可以起别名constraint t_user_id_name_pk primary key(id,name)

**三.分类(这个我看网上好多分类,暂时不太清楚,先按我学的视频来)
自然主键:由自然数构成,与业务无关。(大部分情况用自然主键)
业务主键:与业务紧密相关。。。(不是很懂)

四.函数修饰主键(auto_increment)

create table t_user(
	 id int(4) primary key auto_increment,
	 name varchar(32) not null
);

auto_increment会自动从1开始排序,给添加数据时可以只添加name
如果删除某一序号,则永久删除该序号,下一序号会跳过已删除的序号

你可能感兴趣的:(mysql,mysql,主键,约束)