Python学习笔记020——数据库中的数据类型

数据库类型详解
本文详细介绍了数据库中的数值类型、字符类型、枚举类型、日期及时间类型,并解释了各种类型的使用场景和特性,如int、float、char、enum等。

 

1 数值类型

数值类型分为有符号signed和无符号unsigned两种。

1.1 整型 int

(1)bigint 极大整型(8个字节)

范围 :-2**64 ~ 2**64 - 1

-9223372036854775808 到 9223372036854775807 

无符号类型:0 到 18446744073709551615

 

(2)int 大整型(4个字节)

范围 :-2**32 ~ 2**32-1

-2147483648 到 2147483647 常规

无符号类型 0 到 4294967295

 

(3)mediumint  中整型

 

(4)smallint 小整型(2个字节)

范围:-2**15 ~ 2**15-1

-32768 到 32767 常规

无符号类型:0 到 65535 无符号

(5)微小整型(1个字节)

范围:-2**7~ 2**7-1

-128 到 127常规

无符号类型:0 到 256无符号

1.2 浮点型

(1)float(4个字节)

最多显示7位有效位

float(m,n) 

m:总位数

n:小数位,小数点右侧最大位

示例

float(5,2) 取值范围 -999.99~999.99

备注:

浮点型插入整数时会自动补全小数位

小数位如果多于指定的位数,会对下一位四舍五入处理

(2)double(8个字节,最多显示15个有效位)

double(m,n)

m:总位数

n:小数位,小数点右侧最大位

(3)decimal(m,d)

作为字符串存储的 DOUBLE 类型,允许固定的小数点。

固定精度和比例的数字。

2 字符类型

2.1 char(size) 定长

取值范围:1~255

注意:当不给定size大小时,默认宽度为1

2.2 varchar(size) 变长

取值范围:1~65535

注意:没有默认宽度,必须给定一个宽度值


 

char和varchar特点

(1)char
  浪费存储空间,性能高,已开辟了空间,数据可以直接储存
(2)varchar
  节省存储空间,性能低,当写入数据时,临时性开辟


 

注意:字符类型的宽度与数值类型宽度的区别

(1)数值类型的宽度为显示宽度,只用于select查询时显示,和占用存储空间大小无关

  int(11)——11为显示空间,实际储存依然是4个字节

  int(3) unsigned zerofill——当值为1时,显示为001(显示位数不足则用 0 补齐,这种方式有利于自动编号),而实际占用空间依旧是4个字节

  int(100)时,查询显示时,值为1时,在1前面补充99个0.

(2)字符类型的宽度超过则无法存储

3 枚举类型

 

 字段值只能在列举范围内选择

(1)enum 单选(最多有65535个不同的值)

  字段名 enum(值1,值2,...)

(2)set 多选(最多有64个不同的值)

  字段名 set(值1,值2,值3,...)

4 日期、时间类型

(1)year : 年 YYYY

(2)date : 日期 YYYYMMDD

(3)time : 时间 HHMMSS

(4)datetime : 日期时间 YYYYMMDDHHMMSS

(5)timestamp : 日期时间 YYYYMMDDHHMMSS

5 约束

数据约束是为了数据的完整性、一致性、有效性

(1)默认约束(default)

(2)非空约束(not null)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值