赞
踩
目录
整数类型 | 字节 | 有符号数值取值范围 | 无符号数值取值范围 |
tinyint | 1 | -128~127 | 0~255 |
smallint | 2 | -32768~32767 | 0~65535 |
mediumint | 3 | -8388608~8388607 | 0~16777215 |
int、integer | 4 | -2147483648~2147483647 | 0~4294967295 |
bigint | 8 | -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)
类型 | 字节 | 备注 |
float | 4 | 单精度 |
double | 8 | 双精度 |
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(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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。