MySQL约束-默认约束(default)、零填充约束(zerofill)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL约束-默认约束(default)、零填充约束(zerofill)

默认约束

MySQL 默认值约束用来指定某列的默认值。

添加默认约束

方式1<字段名><数据>default<默认>;

方式2: altertable表名 modify列名 default默认;

create table t_user10 ( 
  id int , 
  name varchar(20) , 
  address varchar(20) default ‘北京’ -- 指定默认约束 
);
-- alter table 表名 modify 列名 类型 default 默认值; 
create table t_user11 ( 
  id int , 
  name varchar(20) , 
  address varchar(20)  
);
alter table t_user11 modify address varchar(20) default  ‘北京’;


删除默认约束

-- alter table <表名> modify column <字段名> <类型> default null;

alter table t_user11 modify column address varchar(20) default null;

零填充约束


1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0

2、zerofill默认为int(10)

3、当使用zerofill 时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。


比如:现在设置某个字段的长度为5,那么真实数据是1,那么显示在你的数据库的是00001;


create table t_user12 ( 
  id int zerofill , -- 零填充约束
  name varchar(20)   
);
alter table t_user12 modify id int;
-- 1. 添加约束
create table t_user12 ( 
  id int zerofill  , -- 零填充约束
  name varchar(20)   
);
insert into t_user12 values(123, '张三');
insert into t_user12 values(1, '李四');
insert into t_user12 values(2, '王五');


image.png

总结

前面我们学习了很多的约束,这里这一个大致的总结,我们需要根据自己的应用场景去设置这些约束,最终才可以达到我们的日常需求:


-- 总结
-- 1:通过修改表结构添加主键约束
create table emp4(
  eid int primary key, 
  name varchar(20), 
  deptId int, 
  salary double
);
-- 2:添加自增正约束
create table t_user1 ( 
  id int primary key auto_increment, 
  name varchar(20)
);
-- 3:创建非空约束
create table mydb1.t_user6 ( 
  id int , 
  name varchar(20)  not null,   -- 指定非空约束
  address varchar(20) not null  -- 指定非空约束
);
-- 4:创建唯一约束
create table t_user8 ( 
 id int , 
 name varchar(20) , 
 phone_number varchar(20) unique  -- 指定唯一约束 
);
-- 5:创建默认约束
create table t_user10 ( 
  id int , 
  name varchar(20) ,
  address varchar(20) default '北京' -- 指定默认约束 
);
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
5月前
|
关系型数据库 MySQL
MYSQL-多表操作-外键约束
MYSQL-多表操作-外键约束
|
1月前
|
Ubuntu 关系型数据库 MySQL
ubuntu使用aliyun源+mysql删除有外键约束的数据+查看特定目录的大小
ubuntu使用aliyun源+mysql删除有外键约束的数据+查看特定目录的大小
36 4
|
2月前
|
SQL 关系型数据库 MySQL
MySQL中外键的使用及外键约束策略
这篇文章讨论了MySQL中使用外键的重要性,包括外键的概念、不使用外键可能导致的问题、如何设置外键约束以及不同的外键约束策略(如CASCADE和SET NULL),并通过示例演示了这些概念。
MySQL中外键的使用及外键约束策略
|
2月前
|
存储 关系型数据库 MySQL
MySQL数据库基础:约束
约束是对数据库表中字段施加的规则,确保数据的正确性、有效性和完整性。主要分为非空约束、唯一约束、默认约束、主键约束和外键约束。非空约束禁止字段值为null;唯一约束确保字段值唯一,允许null值重复;默认约束设定默认值;主键约束结合非空与唯一约束,并可设为自增型;外键约束则通过关联其他表的主键,保证数据一致性。检查约束确保字段值满足特定条件。
48 1
|
3月前
|
数据采集 关系型数据库 MySQL
在 MySQL 中使用约束
【8月更文挑战第11天】
59 0
在 MySQL 中使用约束
|
5月前
|
关系型数据库 MySQL
mysql导入报错1067 – Invalid default value for
mysql导入报错1067 – Invalid default value for
147 5
|
5月前
|
SQL 关系型数据库 MySQL
MySQL----约束
MySQL----约束
35 1
|
5月前
|
数据采集 关系型数据库 MySQL
MySQL数据库基础第三篇(约束)
MySQL数据库基础第三篇(约束)
|
5月前
|
存储 关系型数据库 MySQL
【MySQL技术内幕】4.6-约束
【MySQL技术内幕】4.6-约束
44 1