字段约束知识补充

123 阅读3分钟

补充知识点: 字段约束

1、字段约束

附件:MySql数据类型对照表

点击查看,MySql数据类型对照表

1.1概念

在创建数据表的时候,指定的对数据表的咧的数据限制性要求(对表的字段中的数进行限制)

  • 为什么要给表中添加字段约束
  1. 保证数据的有效性
  2. 保证数的完整性
  3. 保证数据的准确性
  • 常见字段约束
  1. 非空约束(not null) : 限制此列的值必须提供,不能为null;
  2. 唯一约束 (unique) : 不能重复
  3. 主键约束 (primary key) : 为空+ 唯一,能够唯一标识数据表中的一条数据
  4. 外键约束 (foreign): 建立不同表之间的关联关系

1.2 字段与约束

  • 创建一个表
create table stus (
    name varchar(10) primary key,
    sex char(2) not null,
    age int not null,
    id int unique,
    qq varchar(11)
);
  • 非空字段 not null

字段约束.png

  • 唯一约束 unique

  • 案例中 id int unique 表示 不能出现相同 id

唯一约束.png

  • 主键约束 primary key
  1. 主键 就是数据表中记录的唯一标识,在一张表中只有一个主键,主键可以是一个列,也可以是多个列的组合
  2. 当一个字段声明为主键之后,添加数据时,1. 此字敦数据不能为null,此字段数据不能重复
  3. 定义主键⾃动增⻓ : 定义int类型字段⾃动增⻓: auto_increment
  4. 注意:⾃动增⻓从1开始,每添加⼀条记录,⾃动的增⻓的列会⾃定+1,当我们把某条记录删 除之后再添加数据,⾃动增⻓的数据也不会重复⽣成(⾃动增⻓只保证唯⼀性、不保证连续 性)

mysql 数据类型对照表

1. 数值类型

类型内存空间⼤⼩范围说明
tinyint1 byte有符号 -128127 ⽆符号 0255特⼩型整数(年龄)
samllint2byte有符号 -32768 ~ 32767 ⽆符号 0~65535⼩型整数
mediumint3byte有符号 -2^31 ~ 2^31 - 1 ⽆符号 0~2^32-1中型整数
int / integer4byte整数
bigint8byte⼤型整数
float4byte单精度
double8byte双精度
decimal第一参数 + 2decimal(10,2) 表示数值⼀共有10位 ⼩数位有2位

2. 字符串类型

类型字符长度说明
char0-255字节定⻓字符串,最多可以存储255个字符 ;当我们指定 数据表字段为char(n) 此列中的数据最⻓为n个字符,如果添加的数据少于 n,则补'\u0000'⾄n⻓度
varchar0~65536 字节可变⻓度字符串,此类型的类最⼤⻓度为65535
tinyblob0~255 字节存储⼆进制字符串
blob0~255 字节存储⼆进制字符串
mediumblob0~1677215存储⼆进制字符串
longblob0~4294967295存储⼆进制字符串
tinytext0~255⽂本数据(字符串)
text0~65535⽂本数据(字符串)
mediumtext0~1677215⽂本数据(字符串)
longtext0~1677215⽂本数据(字符串)

2. 日期类型

类型格式日期
date2022-08-12⽇期,只存储年⽉⽇
time11:12:13⽇期,只存储年⽉⽇
year2022年份
datetime2022-08-12 11:12:13⽇期+时间,存储年⽉⽇时分秒
timestamp20220812 111213⽇期+时间 (时间戳)