标签:varchar default 数据类型 二进制 MySQL 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时,没有默认值。
标签:varchar,default,数据类型,二进制,MySQL,null,主键 来源: https://blog.csdn.net/m0_62382927/article/details/121435360
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。