MySQL的三种属性约束(性别默认男女),简单易懂

1、DEFAULT:默认值约束

比如当插入一些数据为空或者没有插入数据的时候,我们可以给一个默认值

mysql> CREATE TABLE students (
    ->   no INT,
    ->   name VARCHAR(32),
    ->   sex CHAR(1) DEFAULT '男',
    ->   age INT(3),
    ->   email VARCHAR(255)
    -> );
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> desc students
    -> ;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| no    | int          | YES  |     | NULL    |       |
| name  | varchar(32)  | YES  |     | NULL    |       |
| sex   | char(1)      | YES  |     | 男      |       |
| age   | int          | YES  |     | NULL    |       |
| email | varchar(255) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

插入语句进行验证:

mysql> insert into students(no,name,age,email) values(1,'www',18,'123@qq.com');
Query OK, 1 row affected (0.01 sec)

mysql> select * from students;
+------+------+------+------+------------+
| no   | name | sex  | age  | email      |
+------+------+------+------+------------+
|    1 | www  | 男   |   18 | 123@qq.com |
+------+------+------+------+------------+
1 row in set (0.00 sec)

mysql> insert into students(no,name,sex,age,email) values(2,'zzz','女',18,'123@qq.com');
Query OK, 1 row affected (0.00 sec)

mysql> select * from students;
+------+------+------+------+------------+
| no   | name | sex  | age  | email      |
+------+------+------+------+------------+
|    1 | www  | 男   |   18 | 123@qq.com |
|    2 | zzz  | 女   |   18 | 123@qq.com |
+------+------+------+------+------------+
2 rows in set (0.00 sec)

 (如下同理)

2、使用ENUM类型限制字段取值

ENUM是一个字符串对象,其值是从列创建时定义的允许值列表中选择的

CREATE TABLE student (
  name VARCHAR(32),
  sex ENUM('男', '女'),
  age INT(3),
  email VARCHAR(255)
);

3、CHECK 检查约束
注意:(CHECK 约束:用于限制列中的值的范围,MySQL5.7不支持该约束,但写入语句不会报错,MySQL8.0版本支持该约束。)

create table test_user
(
id int primary key,
name VARCHAR(20),
sex VARCHAR(1),
check (sex='男'or sex='女')
);


 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nuhao_

谢谢你打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值