MySQL数据类型概述

@[TOC](数据表的基本操作等)

# 一、MySQL数据类型

一般常用的数据类型有

①数值类型          ②日期和时间类型     ③字符类型 

## 数值类型

### 数值类型——整形类型

MySQL的整形类型有:tinyint、smallint、mediumint、int、bigint。

类型名称说明储存需求
tinyint很小的整数1个字节
smallint小的整数2个字节
mediumint中等大小的整数3个字节
int普通大小的整数4个字节
bigint大整数8个字节
create table tmp
(
    x tinyint,
    y smallint,
    z mediumint,
    m int,
    n bigint
);

### 浮点类型与定点类型

MySQL中浮点型有两种分别是:单精度float 和双精度double

定点类型有decimal。

类型名称说明存储需求
float单精度浮点型4个字节
double双精度浮点型8个字节
decimal(M,D)压缩的“严格定点数”M+2个字节
create table tmp2
(
    x float(5,1),
    y double(5,1),
    z decimal(5,1)
);

此处赋值测试浮点效果

### 数值类型——日期和时间类型

日期和时间类型有:DATATIME、DATA、TIMESTAMP、TIME、YEAR

类型描述储存要求范围
DATATIME格式为YYYY-MM-DD HH:MM:SS8

1000-01-01 00:00:00~9999-12-31 23:59:59

DATA

格式为YYYY-MM-DD

3

1000-01-01~9999-12-31

TIMESTAMP

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

4

1970-01-01 00:00:01 UTC~2038-01-19 03:14:07

TIME

HH:MM:SS

3

-838:59:59~838:59:59

YEAR

YYYY

1

1901-2155

 

 

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

### 数值类型——字符类型

类型描述

CHAR(M)

存储固定长度字符串

VARCHAR(M)

存储可变长度字符串

ENUM

枚举类型

SET

集合类型(集合中最多有64个成员)

BLOB

存储二进制大对象

TEXT

存储文本大对象

 

 

 

CHARVARCHAR类型

CHAR(M)为固定长度字符串,在定义时指定字符串列长。在保存时在右侧填充空格以达到指定的长度。M表示列长度,M的范围是0~255个字符。 VARCHAR(M)是长度可变的字符串,M表示最大列长度。M的范围是0~65535。

## 如何选择数据类型

如果不需要小数部分,使用整数类型,否则使用float,double

如果经常用于计算,精度要求高的用decimal

如果日期存储范围大时使用datatime

通常采用varchar类型,如果要提供处理速度,则采用char类型

# 二、MySQL运算符

## MySQL运算符有:算数运算符,比较运算符,逻辑运算符,位运算符

### 算数运算符

算数运算符分别有+,-,*,/,%

运算符作用
+加法运算
-减法运算
*乘法运算
/

除法运算,如果除数为0,返回null

%求余运算

 

 

 

 

 

 

### 比较运算符

常用比较运算符(初级)
运算符作用
=等于
<=>安全的等于
<>(!=)不等于
<=小于或等于
>=大于或等于
>大于
<小于

 

 

 

 

 

 

 

 

 

判断运算符(进阶)

运算符

作用

IS NULL

判断一个值是否为NULL

IS NOT NULL

判断一个值是否不为NULL

LEAST

2个或多个参数时,返回最小值

GREATEST

2个或多个参数时,返回最大值

BETWEEN AND

判断一个值是否在两个值之间

IN

判断一个值是IN列中的任意一个值

NOT IN

判断一个值不是IN列中的任意一个值

LIKE

通配符匹配(%_

REGEXP

正则表达式匹配(^$.[….]、*)

 

 

 

 

 

 

 

 

 

 

 

### 逻辑运算符

运算符作用

NOT或者!

逻辑非

AND或者&&

逻辑与

OR或者||

逻辑或

XOR

逻辑异或

 

 

 

 

 

 

### 位运算符

运算符作用
|位或
&位与
^位异或
~位取反
<<位左移
>>位右移

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值