当前位置:Gxlcms > 数据库问题 > MySQL(9):列的属性

MySQL(9):列的属性

时间:2021-07-01 10:21:17 帮助过:2人阅读

利用一个与实体信息不相关的属性,作为唯一标识记录(如下图)、

技术分享

 

设置主键的语法:primary key 完成

两种方案:

(1).字段上设置:

create table teacher(
t_id int primary key,   //这里主键的类型为 int ,也就是说主键可以为也可以为
t_name varchar(5),
class_name varchar(6),
days tinyint unsigned
);

 

t_id 设置为主键之后,默认不能为null,

主键就是搜索的时候用到的关键字

技术分享

 

(2).在定义完了字段之后,可以定义为:

create table teacher1(
t_id int,
t_name varchar(5),
class_name varchar(6),
days tinyint unsigned,
primary key(t_id)
);

下面可以清楚地看到t_id 为 no null

技术分享

也可以同时设置多个字段构成唯一主键(每个表:主键是唯一的),如下:

create table teacher2(
t_id int,
t_name varchar(5),
class_name varchar(6),
days tinyint unsigned,
primary key(t_id,class_name)// t_id 和 class_name 两个字段
);

技术分享

 

4.自动增长

目的:为每条记录提供一个唯一的标示

每次插入记录时,将某个字段的值自动增加1;

使用auto_increment 标识

需要整型,还需要有索引…………

create table teacher3(
t_id int primary key auto_increment,
t_name varchar(5),
class_name varchar(6),
days tinyint unsigned
);

技术分享

 

添加两条语句:

insert into teacher3 values(null, ‘hebao‘, ‘0228‘, 34);

insert into teacher3 values(null, ‘bufan, ‘0223‘, 45);

如下图:发现这个t_id 是唯一的自动增长的

技术分享

 

 

alter table teacher3 auto_inscrement 10;

insert into teacher3 values (null, ‘fei‘, ‘0115‘, 32);

技术分享

 

如果这时候我们再次:

alter table teacher3 auto_increment 5;
insert into teacher3 values(null, ‘fly‘,‘0115‘, 98);

出现的结果是:你会发现新增加的 是以 11 为id索引的

技术分享

 

 

当然主键也可以在初始化

insert into teacher3 values(5, ‘flrt‘,‘0123‘, 56);
这个插入的元素是在‘bufan‘后面的

1

2

5

.

.

.

只要键值唯一不冲突,也是可以修改的,如下:

update  teacher3  set t_id=21  where  t_name=‘赵A‘ ;

 

 

 

 

 

 

 

 

---恢复内容结束---

MySQL(9):列的属性

标签:

人气教程排行