MySQL学习笔记:非空约束、默认约束

本文深入解析了SQL中的非空约束和默认约束,详细介绍了如何在创建表时应用这些约束,以及如何通过修改表结构来添加或修改约束条件。通过具体实例展示了非空约束要求字段不能为NULL,而默认约束则会在未指定值时自动填充默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

1. --非空约束

**

–修饰的字段不能为空 NULL

create table user6(
	id int,
	name varchar(20) not null
);
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

插入语句必须提供非空字段的值:

insert into user6 values(1,'张三');
insert into user6 (name) values('李四’)
  1. 默认约束

默认约束是当插入字段值如果没有传值,就会使用默认值。

create table user7(
	id int,
	name varchar(20),
	age int default 10
);

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | 10      |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
insert into user7  (id,name)  values(1,'张三');
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | 张三 |   10 |
+------+------+------+
1 row in set (0.00 sec)
insert into user7  (id,name,age)  values(1,'李四',25);
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | 张三 |   10 |
|    1 | 李四 |   25 |
+------+------+------+
2 rows in set (0.00 sec)

总结

非空约束和默认约束 同样支持下列方法对表进行更改。

alter table ... add 

alter table modify ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值