栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【MySQL】数据库中的常用数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【MySQL】数据库中的常用数据类型

文章目录
  • 常用数据类型
    • 整型
      • tinyint
      • int
      • bigint
    • 浮点型
      • decimal
      • float
      • double
    • 字符串
      • char
      • varchar
      • text
      • mediumtext
      • langtext
      • datetime 时间字符串
      • date 时间字符串

常用数据类型 整型 tinyint

**取值范围:**只允许 -128 ~127 (默认有正负数)

​ 使用tinyint unsigned 时取值范围是 0~255

根据实际需求使用,使用例子:

create table tabtest(
	id int primary key auto_increment,   -- auto_increment让该字段自增,无需传值,并设为主键。
  	name varchar(16),
  	age int tinyint unsigned		--不需要负数
)default charset=utf8;
int

取值范围:

int 取值范围 -2147483648 ~ 2147483647

int unsigne 取值范围 0 ~ 4294967295

bigint

bigint 取值范围 -922337203654775808 ~ 922337203654775807

bigint unsigne 取值范围 0 ~ 18446744073709551615

浮点型 decimal
decimal(m,d)
-- 准确的小数值,m为数字长度(最小值1 最大值65),d为小数点后几位(最小值0 最大值30) ,如果小数位超过限制,则四舍五入。

例如:
create table tabtest(
	id int primary key auto_increment,  -- auto_increment让该字段自增,无需传值,并设为主键。
  	name varchar(16),
  	age int,
    salary decimal(8,2)     -- 定义一个salary字段为浮点型总长度8,小数位2位小数。
)default charset=utf8;

实际使用中主要使用decimal较多

在存储同样范围的值时,通常比decimal使用更少的空间,float使用4个字节存储,double使用8个字节 ,

而 decimal依赖于M和D的值,所以decimal使用更少的空间

decimal类型的数据存储形式是,将每9位十进制数存储为4个字节,如果设置的位数不是9的倍数,则按一下表的对应关系计算。

位数字节占用
00
1-21
3-42
5-63
7-94

如:字段decimal(20,6),20-6=14,其中小数部分为6,就对应上表中的3个字节,而整数部分为14,14-9=5,就是占4个字节再加上表中的3个字节

float

float单精度小数部分只能精确到后面6位,加上小数点前的一位,即有效数字为7位

double

double双精度小数部分能精确到小数点后的15位,加上小数点前的一位 有效位数为16位

double 和float也可以像decimal一样限制长度:

  • float(M,D) unsigned 中的M代表可以使用的数字位数,D则代表小数点后的小数位数, unsigned 代表不允许使用负数

  • double(M,D) unsigned 中的M代表可以使用的数字位数,D则代表小数点后的小数位数

字符串 char

定长字符串

固定11个字符串存储,如果不够11位字符串则按11位,超过报错。由于是固定长度,所以比varchar查询速度快。

char(n)    -- n最大为255

create table tabtest(
	id int primary key auto_increment,
  	name varchar(16),
  	age int,
    salary decimal(8,2),
    mobile char(11)     -- 规定mobile字段最长为11位
)default charset=utf8;
varchar

边长字符串

限制字符串长度,按实际长度存储。相对char更节省空间。

varchar(n)  -- n最大占用65535字节,如一个中文占用3个字节,则n最大就是65535/3=n


create table tabtest(
	id int primary key auto_increment,
  	name varchar(16),
  	age int,
    salary decimal(8,2),
    mobile varchar(11)     -- 规定mobile字段最长为11位
)default charset=utf8;
text
text(n)  -- n最大占用65535  (字符)
-- 一般用于长文本,文章等


create table tabtest(
	id int primary key auto_increment,
  	name varchar(16),
  	age int,
    salary decimal(8,2),
    mobile varchar(11),     
    article text			-- 规定article字段为text类型
)default charset=utf8;
mediumtext

最大可以使用16777215个字符。不常用

langtext

最大可以使用4294967295个字符,或者4G的数据。不常用

datetime 时间字符串

格式:YYYY-MM-DD HH:MM:SS

如:2022-07-18 22:00:00

date 时间字符串

格式:YYYY-MM-DD

如:2022-07-18

其他更多数据类型可以参照官方文档。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号