03.常见数据类型

1. 数据类型

  • 分类:
    • 数值型
      • 整型
      • 小数
        • 定点型
        • 浮点型
    • 字符型
      • 短字符
      • 长字符
    • 日期型
  • 原则:虽然数据类型有多种多样,但是尽量选择简单的使用,比如能用int解决的绝不用bigint

2. 数值型

2.1 整型

关键字 字节数 描述
bit 相当于java中的boolean
tinyint 1 相当于java中的byte
smallint 2 相当于java中的short
int/integer 4 相当于java中的int
bigint 8 相当于java中的long
  • bit用来表示逻辑值,1表示true,0表示false
  • 如果不设置符号,默认为有符号,可以追加unsigned关键字设置为无符号
  • 如果插入数值时超出范围,会提示警告并且存储为临界值
  • 如果不设置长度会有默认长度,长度仅仅表示显示的位数,追加zerofill关键字可以不够位数用0填充

2.2 小数

关键字 字节数 描述
float(M,D) 4 浮点型
double(M,D) 8 浮点型
decimal(M,D) 定点型
  • M表示整数位数+小数位数,D表示小数位数
  • MD可以省略,float和double会根据插入的数值来存储位数,decimal默认为(10,0)
  • 如果不省略MD,插入数值时超出位数则会警告,并且插入临界值

3. 字符型

3.1 短字符

关键字 描述
char(M) 固定长度字符型
varchar(M) 可变长度字符型
  • M表示保存的最大字符个数,一个英文一个汉字都属于一个字符
  • char的效率要高于varchar
  • 在char中M可以省略,默认为1,在varchar中不可以省略

3.2 长字符

 关键字  描述
text 文本类型
blob 二进制类型
  • text一般用来存储文本字符,blob用来存储二进制数据,比如视频、音频

4. 日期型

关键字 字节个数 描述
year 1 年份
time 3 时间
date 4 日期
timestamp 4 日期+时间
datetime 8 日期+时间
  • datetime大致范围为1000年—9999年不受时区影响,datestamp大致范围1970年—2038年受时区影响更接近实际时间

猜你喜欢

转载自blog.csdn.net/qq_43625140/article/details/107475035