【MySQL】数据类型和运算符

目录

 

5.1.1  整数类型

5.1.2  浮点数类型和定点数类型

5.1.3  日期与时间类型

5.1.4  文本字符串类型(字符字符串)

​5.1.5  二进制字符串类型(字节字符串)

​5.2  如何选择数据类型

5.3.2  算术运算符

5.3.3  比较运算符

5.3.4  逻辑运算符

5.3.5  位运算符

5.3.6  运算符的优先级


5.1.1  整数类型

数值型数据类型主要用来存储数字。

 

INT(N)中N只是表示显示的位数,与存储的数量无关;

5.1.2  浮点数类型和定点数类型

MySQL中使用浮点数和定点数来表示小数。都可以用(M, N)表示,M精度总位数,N小数位标度;

   
定点数以字符串形式存放,在货币,科学计算中用到,默认(10,0)。

5.1.3  日期与时间类型

MySQL中有多种表示日期的数据类型。

 

5.1.4  文本字符串类型(字符字符串)

字符串类型用来存储字符串数据,除了可以存储字符串数据之外,还可以存储其它数据,比如图片和声音的二进制数据。

 


5.1.5  二进制字符串类型(字节字符串)

前面讲解了存储文本的字符串类型,这一节将讲解MySQL中存储二进制数据的数据类型

5.2  如何选择数据类型

整数和浮点数:是否要小数

浮点数和定点数:浮点大范围,定点高精度;

日期与时间类型:大日期DT,当前时间TS;

CHAR与VARCHAR之间的特点与选择:快固,变小;

ENUM和SET:单E,多S;

BLOB和TEXT:纯文本T,图片音频B;


5.3.2  算术运算符

算术运算符是SQL中最基本的运算符。

    +、 -、 *、 /、 %


5.3.3  比较运算符

一个比较运算符的结果总是1,0或者是NULL。

 

LIKE

       expr like 条件

       (1)‘%’,匹配任何数目的字符,包括零字符;

       (2)‘_’, 只能匹配一个字符;

REGEXP

       expr regexp 条件

(1)‘^’ , 以后面的字符开头的;

(2) ‘$’ ,以前面的字符结尾的;

(3)’.’ 匹配任何一个单字符;

(4)’[…]’ , 匹配包含在列表里面的任何字符,可加上‘-’表示连续;

(5)’*’ 匹配任意个它前面的字符,单独的‘*’表示任何数量的任何字符;

在MySQL中,使用  REGEXP  关键字指定正则表达式的字符匹配模式。

正则表达式常用的字符匹配列表

选项

说明

例子

匹配值示例

^

匹配文本的开始字符

^b

book,big,banana

$

匹配文本结束字符

st$

test,resist

.

匹配任何单个字符

b.t

bit,bat,but

*

匹配零个或多个在它前面的字符

fa*n:匹配字符n前面的0个或多个a字符的字符串

fn,fan,faan

+

匹配前面的字符1次或多次

ba+:匹配以 b 开头后面紧跟1个或多个a的字符串

ba,bay,bare

<字符串>

匹配包含指定的字符串的文本

<fa>:匹配包含“fa”的字符串

fan,afa.faad

[字符集合]

匹配字符集合中的任何一个字符

'[xz]':匹配  x  或者  z

dizzy,zebra

[^]

匹配不在括号中的任何字符

'[^abc]':匹配任何不包含a、b、c的字符串

desk,fox

字符串{n,}

匹配前面的字符串至少n次

b{2}:匹配有2个或更多的b字符的字符串

bbb,bbbb

字符串{n,m}

匹配前面的字符串至少n次,至多m次。如果n为0,次参数为可选参数

b{2,4}:匹配至少有2个,最多有4个b字符的字符串

bb,bbb,bbbb

--------------------- 本表来自 成纪散人 的CSDN 博客 ,全文地址请点击这里

5.3.4  逻辑运算符

逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

    NOT 或者 !        ! NULL为NULL;

    AND 或者 &&     有0则0>有NULL则NULL;

    OR 或者 ||          有1则1>有null则null;

    XOR                     有NULL为NULL>相同0,不同1;


5.3.5  位运算符

位运算符是用来对二进制字节中的位进行测试、移位或者测试处理。

    位或(|)

    位与(&)

    位异或(^  )

    位左移(<<)

    位右移(<<)

    位取反(~)


5.3.6  运算符的优先级

运算的优先级决定了不同的运算符在表达式中计算的先后顺序。

级别高的运算符先进行计算,如果级别相同,MySQL按表达式的顺序从左到右依次计算。当然,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级。

猜你喜欢

转载自blog.csdn.net/dreamengsoul/article/details/83052359