常用的数据类型
int
数字范围
-2**32 ~ 2**32-1
bigint
数字范围
-2**63 ~ 2 ** 63-1
float
float(m,d), 其中m表示的是有效位, d表示小数位 有效位就是把当前的小数: 12345.12 转变成科学计数法: 1.234512 * 10**5 m最大值为7
double
double(m, d), 其中m表示的是有效位, d表示小数位 m的最大值为15
decimal
涉及金额的时候使用decimal.
double(m, d), 其中m表示的是有效位, d表示小数位 m的最大值为65 不会产生精度问题, 因为decimal没有精度损失的本质是因为它存的是字符串.
char
表示固定长度的字符串, 长度为255个字节
中文字符占据3~4个字节
varchar
表示不定长的字符串, 长度为
0~65535
个字节TEXT
长文本类型, 最大长度占据
64kb
datetime
如果当前时区发生更改, datetime类型不会发生更改, 与存入的日期保持一致.
timestamp
如果当前时区发生更改, timestamp类型会跟着时区更改.
常用的运算符
算术运算符
+
-
*
/
div
取商
SELECT 5 div 3
mod
取余
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
对字符串进行操作时, 类似python的排序, 是根据ascii码来排序的.
COUNT
计算当前记录数 SELECT count(*) from test
字符处理
CHAR_LENGTH
SELECT CHAR_LENGTH("test")
FORMAT
格式化
SELECT FORMAT(0.333333,2)
LEFT和RIGHT
SELECT right("abcdefg", 2)
TRIM
SELECT trim("abcdefg ")
One comment
设置默认值 CURRENT_TIMESTAMP
datetime : 如果当前时区发生更改, datetime类型不会发生更改, 与存入的日期保持一致.
timestamp : 如果当前时区发生更改, timestamp类型会跟着时区更改.