创建表的完整性约束 和 整型类型

创建表的完整性约束

宽度:

  对存储数据的限制

  char(1) 只能存一个字符

  如果超了 mysql会自动帮你截取

    1 插入的时候 mysql会自动截取 (浪费资源)

    2 会直接报错(mysql严格模式)提示无法存储:Data too long for column 'name' at row 1 (推荐)

使用数据库的准则 能尽量少让数据库干活就尽量少干活

约束条件初识>>> null 与 not null  相当于None

  alter table t5 modify name char not null; 

  not null该字段不能插空

类型和中括号内的约束
类型约束的是数据的存储类型
而约束是基于类型之上的额外限制

字段类型 整型类型

TINYINT SMALLINT MEDIUMINT INT BIGINT

有符号 有正负

 

TINYINT   
默认是否有符号 默认是带有符号的(-128,127)
超出限制会如何 超出之后只会存最大值或者最小值

create table t6(id TINYINT);

有符号修改为无符号 alter table 表名 modify 字段名 TINYINT unsigned ;

char后面的数字是用来限制存储数据的长度的


特例:只有整型后面的数字不是用来限制存储数据的长度 而是用来控制展示的数据的位数   (符号也算一位 加上符号最大11位 )
int(8) 够/超8位有几位存几位,不够8位空格填充

  强调:**对于整型来说,数据类型后的宽度并不是存储限制,
  而是显示限制,所以在创建表时,
  如果字段采用的是整型类型,完全无需指定显示宽度, 默认的显示宽度,足够显示完整当初存放的数据

只要是整型 都不需要指定宽度 因为有默认的宽度 足够显示对应的数据

   
修改约束条件 不够8位的情况下 用0填充

zerofill  0填充多余的位数

not null 不能为空
unsigned 无正负符号
zerofill 0填充多余的位数

 

posted @   LD_Dragon  阅读(781)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示