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