数据库的数据类型

这篇博客详细介绍了MySQL数据库中的数据类型,包括数值类型(如tinyint、int、bigint)、日期和时间类型(如DATE、DATETIME、TIMESTAMP)、字符类型(如CHAR、VARCHAR),并讨论了如何选择合适的数据类型以及运算符的使用,包括算术、比较、逻辑和位运算符。
摘要由CSDN通过智能技术生成

@数据库的数据类型与java的有所不同

#数据类型的简单介绍

数据库的数据类型

MySQL具有丰富的数据类型,在建表和存储的过程中都需要指定数据类型

数据类型有:

数值类型

字符类型

日期和时间类型

整数类型

MySQL主要提供的整数类型有:

tinyint、smallint、mediumint、int、bigint

tinyint     很小的整数  1个字节

smallint   小的整数   2个字节

mediumint  中等大小的整数  3个字节

int  (INTEGER)           普通大小的整数  4个字节

bigint   大整数              8个字节

例如:year int(4),该声明指明,在year字段中的数据一般只显示4位数字的宽度。

# 显示的宽度和数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示的数字个数,

数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,

只要该值不超过该类型的取值范围,数值依然可以插入,而且能够显示出来。

例如:向year字段插入一个数值19999,当使用select查询该列的时候,

MySQL显示的将是完整的带有5位数字的19999,而不是4位数字的值。

--整数类型

#可以在定义表结构时指定整数类型的显示宽度,如果不指定,系统为每一个类型指定默认的宽度值,

#通过举例可以看出长度没有变化

--加长度

#id字段的数据类型为int(11),

注意后面的数字11,这表示的是该数据类型指定的显示宽度,

指定能够显示的数值中数字的个数。

CREATE TABLE test_2
 (
   a  TINYINT(11),
   b  SMALLINT(11),
   c  MEDIUMINT(11),
   d  INTEGER(11),
   f  BIGINT
  );
DESC test_2;

INSERT INTO test_2 VALUES(123,1234,123456,124576);

SELECT * FROM test_2;

--不加长度

-- 使用数据库
USE <数据库名>;

-- 创建数据表

 --测试整数类型
 CREATE TABLE test_1
 (
   a  TINYINT,
   b  SMALLINT,
   c  MEDIUMINT,
   d  INTEGER,
   f  BIGINT
  );
  
DESC test_1;

INSERT INTO test_1 VALUES(123,1234,1234,124576);

浮点数类型和定点数类型

#MySQL中使用浮点数和定点数来表示小数。

浮点类型有两种:单精度float和双精度double。

定点类型只有一种:decimal。浮点类型和定点类型都可以用(M,N)来表示

其中M表示精度,表示总共的位数;N表示标度,是表示小数的位数。

float   单精度浮点型   4个字节

double  双精度浮点型   8个字节

decimal(M,D)  压缩的“严格”定点数  M+2个字节

-- 创建数据表

--测试浮点类型
CREATE TABLE test_3
(
   x FLOAT(5,1),
   y DOUBLE(5,2),
   z DECIMAL(5,3)
);
DESC test_3;

INSERT INTO test_3 VALUES(3.141,3.14159,3.14159);

SELECT * FROM test_3;

日期和时间类型

 


year

year 类型表示年,可以使用各种格式指定year的值

#以4位字符串或者4位数字格式表示year,取值范围’1901’~‘2155’,输入格式为‘YYYY’或者YYYY,

–例如:输入’2010’或2010

#–以2位字符串格式表示的year,范围’00‘~’99‘。’00‘~’69‘和’70‘~’99‘范围的值分别

被转换成2000-2069和1970-1999范围的year的值。

#以2位数字表示的year,范围1~99。1~69和70~99范围的值分别

被转换为2001~2069和1970~1999范围的year值

-- 日期和时间类型
-- 都有特定范围,超出范围会出错

CREATE TABLE test_year(y YEAR);

INSERT INTO test_ye
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值