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

数据类型

使用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;
相关推荐
ClickHouseDB5 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906945 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺6 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw6 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社7 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙7 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3768 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02149 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川9 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组9 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制