mysql约束日期_MySQL学习3——日期类型,枚举与集合类型和约束条件

### 1 日期类型

- 分类:

- date: 2019-12-10

- time: 11:11:11

- datetime: 2019-12-10 11:11:11

- year: 2019

### 2 枚举 与 集合类型

- 分类:

- 枚举enum 多选一

- 集合set 多选一 或 多选多

# 枚举

create table user1(

id int not null,

name varchar(16),

gender enum('male', 'female', 'others')

);

注意:枚举里面有什么数据,就选择什么数据插入即可;没有5.7以上的版本会报错

# 集合

create table user2(

id int not null,

name varchar(16),

gender enum('male', 'female', 'others'),

hobbies set('read', 'sleep', 'play ball', 'run')

);

# 多选一

insert into user2 values(1, 'tank', 'male', 'read');

# 多选多

注意: read,sleep必须连着写,若不连在一起,则无法插入数据

insert into user2 values(3, 'sean', 'female', 'read,sleep');

### 4 约束条件

约束条件就是,对于数据库表插入数据时加以约束限制。

- primary key (pk)

# 非常重要,主要是用于快速定位到该表中的某一条数据

# 一般主键,用id来表示,因为以后的每张表都必须要有id标识该字段为该表的 "主键" ,主键可以是唯一的表示记录

# 联合主键: 多个字段联合起来作为一个主键,本质上还是一个主键

# 强调: 必须注意

1.一张表必须只有一个主键,如果没有设置主键,会从上到下搜索,直到遇到 "第一个" 非空 且 唯一 的字段自动设置为主键。

- not null + unqiue ---》 设置为主键

2.如果表没有指定任何可以设置主键的字段,那innodb会采用自己默认的一个隐藏关键字作为主键,隐藏意味着查询你的时候通过这个加速查询。

索引: 类似于书的目录, 没有主键就相当于一页一页翻着查询

3.一张表中通常都应该有一个id字段,并且通常将id字段作为主键。

- foreign key (fk)

#标识该字段为该表的 "外键", 用于把当前的表与另一张表绑定关系

- not null

#标识该字段不能为空

- unique key (uk)

#标识该字段的值是唯一的。

# 该约束的作用是,若一张表中插入了该字段已存在的值,则无法插入。

- auto_increment:

#标识该字段的值自动增长 (整数类型,并且为主键)

# 每插入一条数据时,都会让该字段,自动+1,一般我们将表中的id字段,设置为自增,该字段从1开始

- default

#为该字段设置默认值,

#id name sex(default 'male')

- unsigned

#无正负符号

- zerofill

#使用0填充

# 补充:

delete from user10;

# delete删除表的记录或者指定记录,但id不会重置为0

# 删除某一条记录

delete from user10 where id='4';

# 若想要清空id重置为0,可使用truncate user10;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值