mysql学习笔记(2)

mysql中数据类型:

1.整形

整形大小(字节)数值(有符号)
tinyint1-128--127
smallint2-2^15--2^15-1
mediumint3-2^23--2^23-1
int4-2^32--2^32-1
bigint8-2^63--2^63-1


tinyint(M) unsigned zerofill not null default 0
M:代表显示宽度(在zerofill是才有意义)
unsigned:无符号,影响存储范围
zerofill:零填充 (无符号)

not null default 0 :自动填充0  列可声明默认知,且最好声明


2.浮点型

类型

典型声明方式

范围

Float(M,D)

Score float(5,2)

M:精度(总位数)D:标度(小数点)

 

Decimal(M,D)

Score decimal(5,2)

同上

例:

float(6,2)  range -9999.99—9999.99

float(6,2)unsigned  range 0—9999.99


3.字符型

类型

说明

典型声明方式

范围

Char(M)

定长字符串 M表示可容纳的字符数(不是字节数)

Name char(10)

0-255

Varchar(M)

变长字符串 M表示可容纳的字符数(不是字节数)

Name varchar(10)

0-65535(以ascii字符为例,utf8 22000左右) utf8占3字节

text

文本串

Resume text

2w-6w

char ,varchar的区别:

 char定长 设定M 长度就为M 如果没有M个后面用 空格 补齐,取出时再去掉后面的 空格(中间的 空格 不管),所以char类型数据后面不能保存 空格

varchar 变长 存的小于M个字符,设为N,N<=M,实际占N个字符+(1-2)个字节 (后面1-2个字符时保存varchar长度信息的)  取出时不会去掉后面的 空格

选用原则:考虑

1.速度

2.如何最省空间     


4.日期时间类型

类型

典型格式

大小

范围

Year

2012  如果输入两位 “00-69”表示2000-2069 “70-99”1970-1999

1字节

表示’1901’-‘2155’,0000,『表示错误时的选择』

Date

1992-08-12

 

‘1000-01-01’ –> ’99991.12.31’

Time

00:00:00

 

‘-838:59:59’à

’ 838:59:59’

Datetime

1993-04-11 12:00:56

 

‘1000-1-1 00:00:00’à’9999-12-31 23:59:59‘


很少使用datetime类型来表示时间,一般不需要精确到秒

原因:虽然方便查看,而且能精确到秒不好定位

时间戳:是1970-01-01 00:00:00 到当前的秒数

一般存储注册时间,商品发布时间等,并不是用datetime,而是用时间戳

Datetime查看方便 但不直观

 

用int存储时间戳,方便计算,对于显示也更灵活

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值