第二章 数据类型、表的约束

数据类型

使用MySQL数据库存储数据时,不同的数据类型决定了MySQL存储数据方式的不同。

整数类型

整数类型分为5种

复制代码
TINYINT(tiny int)  占用1个字节,8位
SMALLINT(small int)
MEDIUMINT(medium int)
INT(int)
BIGINT(big int)
浮点数类型和定点数类型

存储的小数使用浮点数和定点数来表示,

复制代码
浮点数:
单精度FLOAT(float)
双精度DOUBLE(double)
复制代码
定点数:DECIMAL(decimal)
日期与时间类型
复制代码
YEAR(year) 
DATE(date)
TIME(time)
DATETIME(datetime)
TIMESTAMP(timestamp)
字符串和二进制类型
复制代码
CHAR(char)
VARCHAR(varchar)
BINARY(BINARY)
VARBINARY(varBINARY)
TEXT(text)
BLOB(blob)
ENUM(enum)
SET(set)
BIT(bit)

表的约束

为了防止数据表中插入错误数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。

主键约束primary key

通过主键可以快速查找表中的某条信息,它可以唯一标识表中的记录,就好比身份证可以用来标识人的身份一样。

每个数据表中最多只能有一个主键约束,定义为PRIMARY KEY的字段,不能有重复值,不能为NULL值。

1.单子段主键

由一个字段构成的主键。

复制代码
字段名 数据类型  PRIMARY KEY
2.多字段主键

由多个字段组合而成的主键。

复制代码
PRIMARY KEY (字段名1,……)
非空约束not null

非空约束指的是字段的值不能为NULL

复制代码
字段名 数据类型 NOT NULL;
唯一约束unique

唯一约束用于保证数据表中字段的唯一性,即表中字段的值不能重复出现。

复制代码
字段名 数据类型 UNIQUE;
默认约束default

默认约束用于给表中字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。

复制代码
字段名 数据类型  DEFAULT 默认值;
设置表的字段值自动增加auto_increment

在数据表中,若想为表中插入的新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现。

AUTO_INCREMENT约束的字段可以是任何整数类型,默认情况下,该字段的值是从1开始自增的。

复制代码
字段名 数据类型 AUTO_INCREMENT;
相关推荐
YOU OU1 小时前
Redis基础常识与命令
数据库·redis·缓存
Database_Cool_4 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森4 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_4 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白5 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面6 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧6 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈6 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy6 小时前
log4net 数据库存日志正确配置
数据库