【MySQL】2.0 数据类型

MySQL的学习笔记:数据类型

实例:
Teacher(Teacher_id, Teacher_name, age, Enter_time ,professional)

Teacher_idTeacher_nameageEnter_timeprofessional
10101潘多拉351998-7-2副教授
10102吉米272013-7-5讲师
10103郝本451995-8-10副教授
10201田野421994-7-15副教授
10202赵瑾322012-7-12讲师
20201钱多多501996-7-2教授

MySQl数据类型

数据类型
数值类型
字符串类型
日期-时间类型
复合类型
二进制类型
小数类型
整数类型
enum类型
set类型

数值类型

整数类型

类型大小范围(有符号)范围(无符号)用途
TINYINT1 字节(-128,127)(0,255)小整数值
SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 字节(-9223372036854775808,9223372036854775 807)(0,18 446 744 073709 551 615)极大整数值

例如:定义年龄字段age为无符号数,可以使用SQL片段:
age tinyint unsigned
其中用unsigned约束年龄age的取值不能为负数

小数类型

类型大小范围(有符号)范围(无符号)用途
FLOAT4 字节-3.402 823 466 E+38~-1.175 494 351 E-380和1.175 494 351 E-38~3.402 823 466 E+38单精度浮点数值
DOUBLE8 字节-1.797 693 134 862 315 7 E+308~-2.225 073 858 507 201 4 E-308)0和2.225 073 858 507 201 4 E- 308~1.797 693 134 862 315 7E+308双精度浮点数值
DECIMALDECIMAL(length,precision)length决定小数的最大位数precision用于设置小数位数length决定小数的最大位数precision用于设置小数位数小数值

decimal(length, precision)用于表示精度确定(小数点后数字的位数确定)的小数类型,length决定该小数的最大位数,precision用于设置精度(小数点后数字的位数)。
例如:
decimal (5,2)表示小数取值范围:-999.99~999.99
decimal (5,0)表示: -99999~99999的整数。

日期类型

类型字节大小范围格式用途
DATE3‘1000-01-01’ ~’9999-12-31’YYYY-MM-DD日期值
TIME3'-838:59:59‘ ~‘838:59:59’HH:MM:SS时间值或持续时间
YEAR1‘1901’~’2155’YYYY年份值
DATETIME8‘1000-01-01 00:00:00’ ~’9999-12-31 23:59:59’YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4‘1970-01-01 00:00:00’ ~’2038’YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳

字符串类型

类型大小用途
CHAR(n)0-255字节定长字符串
VARCHAR(n)0-65535 字节变长字符串
TINYTEXT0-255字节短文本字符串
TEXT0-65 535字节长文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGTEXT0-4 294 967 295字节极大文本数据
  1. char是定长,无论实际字段多长,占用空间总为n
  2. varchar是变长,只要实际字段长度小于n,那么长度为实际长度

复合类型

类型最大值说 明备注
Enum (“value1”,“value2”, …)65535该类型的列只可以容纳所列值之一或为NULL类似单选框
Set (“value1”,“value2”, …)64该类型的列可以容纳一组值或为NULL类似复选框

二进制类型

类型大小用途
Binary(n)0-255字节较短的二进制
VARBinary(n)0-65535 字节较长的二进制
Bit(n)0-64字节短二进制
TINYBLOB0-255字节较短的二进制
BLOB0-65 535字节图片、声音等文件
MEDIUMBLOB0-16 777 215字节图片、声音、视频等文件
LONGBLOB0-4 294 967 295字节图片、声音、视频等文件

一般规则

  1. 在符合应用要求(取值范围、精度)的前提下,尽量使用“短”数据类型
  2. 数据类型越简单越好
  3. 在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储日期和时间。
  4. 尽量采用精确小数类型(例如decimal),而不采用浮点数类型。
  5. 尽量避免NULL字段,建议将字段指定为NOT NULL约束。

MySQL基础系列

【MySQL】1.0 数据库操作
【MySQL】2.0 数据类型
【MySQL】3.0 数据表操作
【MySQL】4.0 数据与索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值