数据库常用数据类型

数值类型

1.位类型

bit(M)

M指定位数,默认为1。M范围是1到64,所以存储的数据范围是0到2^64-1.

2.整型

tinyint 一个字节,对应Java中的Byte

smallint 两个字节,对应Java中的Short

int四个字节,对应Java中的Integer

bigint 八个字节,对应Java中的long类型

3.浮点型

float(M,D)  四个字节,M指定长度,D指定小数位数

double(M,D) 八个字节

4.定点型

decimal(M,D) M/D的最大值加2个字节,M指定长度,D指定小数位数

与浮点型相比,decimal的精度更高。但运算速度变慢,占用空间更多

numeric和decimal一样

注意

数值类型可以指定为无符号的,表示不取负数。

对于整型,有符号的范围是-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1;无符号的范围是0~2^(类型字节数*8)-1,因为一个字节是8个比特位

注意,尽量不使用unsigned,因为如果由于某些操作(比如小数减大数)导致出现负数后,系统无法显示负数,就会变成很大很大的正整数。

字符串类型

1.varchar(size)

范围是0~65535字节

varchar是变长字符串,size表示该类型里最多存几个字符(注意不是字节)

注意:当我们指定size为10,不是说当下立即分配是个字符的空间,而是先分配一个比较小的空间,如果不够再自动扩容

2.text

范围是0~65535个字节,一般用于存放长文本数据,或者是在不知道字符串长度范围无法指定size大小是使用

3.mediumtext

范围是0~16777215字节,中等长度文本数据

4.blob

范围是0~65535字节,存放二进制形式的长文本数据,对应java中的byte[ ]。

日期类型

1.datetime

八字节

范围是从1000年到9999年,不会进行时区的检索以及转换

2.timestamp

四字节。范围是从1970年到2038年,自动检索当前时区并转换

由于它只能表示到2038年,所以现在不建议再用timestamp,而一般用datetime

相关推荐

  1. 数据库数据类型

    2024-02-13 17:58:02       57 阅读
  2. Redis数据类型--Hash

    2024-02-13 17:58:02       47 阅读
  3. Redis数据类型--List

    2024-02-13 17:58:02       45 阅读
  4. ElasticSearch的数据类型

    2024-02-13 17:58:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-13 17:58:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-13 17:58:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-13 17:58:02       82 阅读
  4. Python语言-面向对象

    2024-02-13 17:58:02       91 阅读

热门阅读

  1. 从一道板子题了解LIS(最长上升子序列)

    2024-02-13 17:58:02       66 阅读
  2. rtt设备io框架面向对象学习-adc设备

    2024-02-13 17:58:02       55 阅读
  3. 鸿蒙harmony--TypeScript类详解

    2024-02-13 17:58:02       46 阅读
  4. Redis的持久化方式

    2024-02-13 17:58:02       49 阅读
  5. 接口测试:项目测试

    2024-02-13 17:58:02       47 阅读
  6. 异步复位同步释放原则

    2024-02-13 17:58:02       45 阅读
  7. Day31 贪心算法part01

    2024-02-13 17:58:02       58 阅读
  8. 1277. 统计全为 1 的正方形子矩阵

    2024-02-13 17:58:02       59 阅读