MySQL数据类型

目录

一、数值类型

二、位类型(bit)

三、文本类型(字符串类型)

四、二进制类型 

五、日期类型:


一、数值类型 :

1.整数类型:

整数类型

字节

有符号数值取值范围无符号数值取值范围
tinyint1-128~1270~255
smallint2-32768~327670~65535
mediumint3-8388608~83886070~16777215

int、integer

4-2147483648~21474836470~4294967295
bigint8-9223372036854775808~9 223372036854775807

0~18446744073709551615

UNSIGNED : 无符号类型(非负)。所有的数值类型都有一个可选的属性UNSIGNED(无符号属性),无符号整数类型的最小取值为0。所以,如果需要在MySQL数据库中保存非负整数值时,可以将整数类型设置为无符号类型。

eg:

#unsigned的使用

#不加unsigned,默认为有符号(即带加减号)
create table test1(age tinyint)
#报错,tinyint带符号的取值范围为-128~127,128超出范围
insert into test1 values(128)

#加unsigned,表示不带符号
create table test2(age tinyint UNSIGNED)
#正常运行,不带符号的tinyint取值范围为0~256
insert into test2 values(128)

2.小数类型:

类型字节备注

float

4单精度
double8双精度
decimal【M,D】/支持更加精准的小数位

decimal【M,D】(0<=M<=65,0<=D<=30D<M):M表示小数位数总数,D表示小数点后的位数。例如decimal【5,2】表示该值共5位数,其中小数点2位

若D是0,则该值无小数点或分数部分。

若D被省略,默认为0。若M被省略,默认为10。

eg:

#演示小数类型
create TABLE test3(
        t1 float ,
        t2 double ,
        t3 DECIMAL(30,20))
insert into test3 values (12.123123123123,12.123123123123,12.123123123123)
select * from test3;

float、double、decimal精度依次增大,其中,decimal不够位数会自动补0。

二、位类型(bit):

bit字段显示时,按照位的方式显示。

bit(n):n默认为1,范围为1~64。

#位类型
create  table test4 (num bit(8))

三、文本类型(字符串类型):

 注意点:

①char(size):固定长度字符串,最大255字符

②varchar(size):可变长度字符串,最大65532字符

③char、varchar的大小表示的是字符,不区分是汉字还是字母

④若数据长度固定,推荐使用char,例如邮编、手机号、身份证等。若数据长度不定,推荐使用varchar,在查询速度上,char快于varchar

eg:

#演示char、varchar(size),不区分字母汉字,不超过size长度即可 
create table test5 (name char(4))
#成功插入数据
insert into test5 values('1234')
#成功插入数据
insert into test5 values('你好吗')
select * from test5

四、二进制类型 :

 

五、日期类型:

 eg:

#日期类型
create table test6(
        time1 date,
        time2 datetime,
        time3 TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP) #not null DEFAULT CURRENT_TIMESTAMP自动更新当前时间
insert into test6 (time1,time2)values('1990-10-10','1990-10-10 10:10:10')
select * from test6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值