mysql数据库基础:数据类型和约束

1. 数据库的数据类型

1.1、整数:

int bit

在这里插入图片描述

1.2、小数

Decimal

在这里插入图片描述

1.3、字符串:

char(固定长度),char(4) ’as’-------’as  ‘
Varchar(可变长度字符串),varchar(4)----’as’---’as
text(大文本存储)字符>4000

在这里插入图片描述

1.4、枚举类型

 enum

1.5、日期:

date 
time 
Datetime

在这里插入图片描述

1.6、数据类型的选择

1、整数和浮点数
    如果不需要小数部分,则使用整数来保存数据,并且根据整数的大小,来选择合适的整数类型,如果需要小数部分,则使用浮点数类型,浮点数类型中,有float和double,如果需要精度高一点,则选择double。根据自己的需求来决定选什么。
2、浮点数和定点数
   浮点数FLOAT、DOUBLE相对应定点数DECIMAL的优势在于:在长度一定的情况下,浮点数能表示更大的数据范围,但是浮点数容易产生误差,因此在精度比较高时,建议使用DECIMAL,比如货币这一类东西,就用DECIMAL比较合理,注意浮点数在进行加减运算时也容易出现问题。如果进行数值比较,也建议用DECIMAL
3、日期与时间类型
   可以看上面详解时的图,根据各种格式,选择自己所需要的数据类型,注意TIMESTAMP和DATETIME的区别,一个是跟时区有关,一个无关,其他没什么大的区别。
4、CHAR与VARCHAR之间的特点与选择
   区别:
     CHAR是固定长度字符、VARCHAR是可变长度字符。CHAR会自动删除插入数据的尾部空格,VARCHAR不会。
     CHAR是固定长度,处理速度比VARCHAR更快,缺点很明显,浪费存储空间,所以对存储不大,但在速度上有要求的可以使用CHAR类型,反之用VARCHAR。
5、ENUM和SET
 ENUM只能取单值,也就是从枚举类型中选取其中一个值,但是SET可以取多值,
 ENUM最多能存放65535个成员,SET只能65个
 空字符串也能在SET中存储,要存储一个人的喜爱时,最好使用SET类型,其实最重要的是看具体的情况在选取最为合适的把
6、BLOB和TEXT
  BLOB是二进制字符串,TEXT是非二进制字符串,两者均可存放大容量的信息,BLOB主要存储图片、音频信息,而TEXT只能存储纯文本文件。分清楚两者的用途

7、BINARY和VARBINARY
    这两个的区别和CHAR与VARCHAR的区别差不多,BINARY是固定长度、VARBINARY是可变程度,这两个的作用就是为了区分大小写的,注意这两个是字节字符串。

2. 数据库约束

2.1、主键 primary key

物理上存储的顺序

2.2、非空字段的设置 not null

在当前字段不允许出现空值

2.3、唯一 unique

当前字段不允许重复

2.4、默认值 default

在当前的字段存在默认值,如果不写,就用默认值,如果写,就用写的数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值