常用的数据类型
int
数字范围-2**32 ~ 2**32-1
bigint
数字范围-2**63 ~ 2 ** 63-1
float
代码语言:javascript复制float(m,d), 其中m表示的是有效位, d表示小数位
有效位就是把当前的小数: 12345.12 转变成科学计数法: 1.234512 * 10**5
m最大值为7
double
代码语言:javascript复制double(m, d), 其中m表示的是有效位, d表示小数位
m的最大值为15
decimal
涉及金额的时候使用decimal.
代码语言:javascript复制double(m, d), 其中m表示的是有效位, d表示小数位
m的最大值为65
不会产生精度问题, 因为decimal没有精度损失的本质是因为它存的是字符串.
char
表示固定长度的字符串, 长度为255个字节
中文字符占据3~4个字节
varchar
表示不定长的字符串, 长度为0~65535
个字节
TEXT
长文本类型, 最大长度占据64kb
datetime
如果当前时区发生更改, datetime类型不会发生更改, 与存入的日期保持一致.
timestamp
如果当前时区发生更改, timestamp类型会跟着时区更改.
常用的运算符
算术运算符
-
*
/
div
取商
代码语言:javascript复制SELECT 5 div 3
mod
取余
代码语言:javascript复制SELECT 5 mod 3
比较运算符
=
类似python中的 ==
SELECT 1 =1
!=
>
与>=
<
与<=
between
与not between
SELECT 2 not between 1 and 3
is null
与 is not null
用来判断当前是否有记录
逻辑运算符
- NOT
- AND
- OR
- XOR(了解) 异或, 两个值一个True, 一个为False, 当前表达式才为True
常用的函数
算术运算
SUM
和
AVG
平均数
MAX和MIN
代码语言:javascript复制对字符串进行操作时, 类似python的排序, 是根据ascii码来排序的.
COUNT
代码语言:javascript复制计算当前记录数
SELECT count(*) from test
字符处理
CHAR_LENGTH
代码语言:javascript复制SELECT CHAR_LENGTH("test")
FORMAT
格式化
代码语言:javascript复制SELECT FORMAT(0.333333,2)
LEFT和RIGHT
代码语言:javascript复制SELECT right("abcdefg", 2)
TRIM
代码语言:javascript复制SELECT trim("abcdefg ")