常用的数据类型
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 “)