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

打印 上一主题 下一主题

主题 1945|帖子 1945|积分 5835

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、DEFAULT:默认值约束
好比当插入一些数据为空大概没有插入数据的时间,我们可以给一个默认值
  1. mysql> CREATE TABLE students (
  2.     ->   no INT,
  3.     ->   name VARCHAR(32),
  4.     ->   sex CHAR(1) DEFAULT '男',
  5.     ->   age INT(3),
  6.     ->   email VARCHAR(255)
  7.     -> );
  8. Query OK, 0 rows affected, 1 warning (0.01 sec)
  9. mysql> desc students
  10.     -> ;
  11. +-------+--------------+------+-----+---------+-------+
  12. | Field | Type         | Null | Key | Default | Extra |
  13. +-------+--------------+------+-----+---------+-------+
  14. | no    | int          | YES  |     | NULL    |       |
  15. | name  | varchar(32)  | YES  |     | NULL    |       |
  16. | sex   | char(1)      | YES  |     | 男      |       |
  17. | age   | int          | YES  |     | NULL    |       |
  18. | email | varchar(255) | YES  |     | NULL    |       |
  19. +-------+--------------+------+-----+---------+-------+
  20. 5 rows in set (0.00 sec)
复制代码
插入语句进行验证:
  1. mysql> insert into students(no,name,age,email) values(1,'www',18,'123@qq.com');
  2. Query OK, 1 row affected (0.01 sec)
  3. mysql> select * from students;
  4. +------+------+------+------+------------+
  5. | no   | name | sex  | age  | email      |
  6. +------+------+------+------+------------+
  7. |    1 | www  | 男   |   18 | 123@qq.com |
  8. +------+------+------+------+------------+
  9. 1 row in set (0.00 sec)
  10. mysql> insert into students(no,name,sex,age,email) values(2,'zzz','女',18,'123@qq.com');
  11. Query OK, 1 row affected (0.00 sec)
  12. mysql> select * from students;
  13. +------+------+------+------+------------+
  14. | no   | name | sex  | age  | email      |
  15. +------+------+------+------+------------+
  16. |    1 | www  | 男   |   18 | 123@qq.com |
  17. |    2 | zzz  | 女   |   18 | 123@qq.com |
  18. +------+------+------+------+------------+
  19. 2 rows in set (0.00 sec)
复制代码
 (如下同理)

2、使用ENUM类型限定字段取值
ENUM是一个字符串对象,其值是从列创建时界说的答应值列表中选择的
  1. CREATE TABLE student (
  2.   name VARCHAR(32),
  3.   sex ENUM('男', '女'),
  4.   age INT(3),
  5.   email VARCHAR(255)
  6. );
复制代码
3、CHECK 查抄约束
注意:(CHECK 约束:用于限定列中的值的范围,MySQL5.7不支持该约束,但写入语句不会报错,MySQL8.0版本支持该约束。)
  1. create table test_user
  2. (
  3. id int primary key,
  4. name VARCHAR(20),
  5. sex VARCHAR(1),
  6. check (sex='男'or sex='女')
  7. );
复制代码

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表