MySQL数据类型
2021/11/20 19:10:18
本文主要是介绍MySQL数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一、整型、非整形
- 1.整型
- 2.浮点型
- 3.字符串类型、二进制数据
- 3.时间类型
- 二、约束(constraint)
- 三、关于数据库中null的理解
一、整型、非整形
1.整型
int、INT
tinyint<smallint<int<bigint (90%)
2.浮点型
(有精度损失的小数)
float<double
带精度的小数
decimal,numeric
3.字符串类型、二进制数据
3.1char vs varchar
char(4)长度为4个字符(不是字节)的数据类型,定长
varchar(4)最多长度为4个字符(不是字节)的数据类型,变长
典型使用char场景:身份证(有字符且定长)、性别(男、女)
剩余场景使用varchar更合适
varchar(有上限)
字符串更长的情况:text smalltext < text <longtext
字符串单引号和双引号都可以
一片文章 ,标题:varchar,正文:text
二进制数据(图片、声音)
3.2二进制数据类型
blob(Binary Large Object)较大的二进制对象
blob < longblob
3.时间类型
date 日期 年月日
time 时间 时分秒
datetime 日期+时间 年于日时分秒
timestamp 时间戳:约等于datetime 年月日时分秒
优点:占用空间较小
缺点:1970.1.1 ~2036-12-31
凡是涉及到时间,都有一个很重要的概念:时区(timezone)
我们的时区:东+8时区、北京时间 “Asia/Shanghai”
数据中表示时间,用一定格式的字符产区表现时间,严格按照该格式去写
“2021-11-20 10:07:18”
重点掌握: int/varchar/blob/date/time/datetime
二、约束(constraint)
用来约定该字段(列)数据的范围,支持哪些数据,不支持那些数据
PK Primary 主键
关系型数据库要求:对于一张表,必须有主键
主键,一条记录的唯一标识,不能重复
通过主见,一定可以确定唯一一条记录
中华人民共和国(抽象成一条记录时),标准意义上,身份证是pk
以银行卡为例,卡号是其pk
实际中还会存在一些复合主键,用过几个字字段的联合,来唯一确定一条记录
实操中,建议主键(pk)使用整形(int、bigint)
配合AI(自动增长)来使用,不会重复
NN :Not Null 勾选上不能为Null,反之,不勾选,允许为NULL
UQ UniQue 唯一的,不能重复
B Binary 二进制显示方式
UN Unisigned 无符号
ZF ZeroFill 用0填充显示
AI Auto Increment 自增
dfault、express该字段的默认值
Comment 该字段的描述
三、关于数据库中null的理解
一条记录中的某个字段为null,一般代表该字段不可知,不可记录
允许nnull&&没有设定default,default就是null
允许null&&设定了default,以设定的default为准
不允许null&&设定了default,以设定的default为准
不允许null&&没有设定default时,没有默认值。
这篇关于MySQL数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南