目录
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按表达式的顺序从左到右依次计算。当然,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级。