MySql小知识

int类型​

设计表的时候 int(3) 并不能限制取值范围和占用空间这个是int类型本身限制的

例:int(3) 在插入数据的时候 1000也能插入成功(一版设计表的时候只填写类型,后面不加(X))

 

year类型
以2位字符串存入的取值范围
'00'-'69' - '70'-'99'  ->  2000-2069 - 1970-1999
以2位数字类型存入的取值范围
1-69  -  70-99  ->  2001-2069  -  1970-1999(2000年2位数字是0的话存入为0000)
 

time类型

有 : 时间从左往右记录没有则从右往左

例:'20:20' -> 20:20:00

       '2020'  -> 00:20:20

 

​​date类型
字符串格式插入无论连接符为什么(英文单引号除外)最后都会转为yyyy-mm-dd格式
例:'2022*11)14'  ->  2022-11-14
 
datetime类型
同date类型但是日期和时间部分之间的空格不能是其他字符
 
timestamp类型
格式和datetime类型相同,但是取值范围小
datatime类型存储的是插入日期,timestamp类型存入的是当时日期的转换世界标准时间
 
字符串类型限值在严格模式下会启用,插入超过的限值的数据会报错
char(4)和varchar(4)区别
 
enum类型
类似元组那种键值对,存入数据时候存入enum的key或者value显示为enum的value
 
set类型
set类型的列可以从定义列的值中选择多个字符联合且保持有序性,不同于enum的只能选择一个值插入
例:定义set类型字段x为a,b,c,d,e,当插入a,b,a时显示为a,b   插入a,c,b时显示为a,b,c   插入a,b,z时因没有定义z报错
 
比较运算符
=和<=>功能一致,唯一区别是=不能比较null值<=>可以,=比较的返回null(字符串和数字相比较mysql会把字符串转为数字)
 
least
返回最小值,有null返回null
 
greatest
返回最大值,有null返回null
 
like
like 'xxx_'  匹配以xxx开头的4位字符串
 
regexp
正则表达式匹配,格式同like
 
逻辑运算符
否 -> ! 或 not
和 -> && 或 and
或 -> || 或 or
异或 xor (当xor左右两边值为0 或 大于0时返回0,否则返回1,有null返回null)
 
位运算符(感觉用不到,略过了)
 
 
运算符的优先等级

 

 区分大小写比较 -> binary 'a' = 'A' 返回0

 

数学函数

ABS(x)  返回绝对值

PI()  返回圆周率

SQRT(x)  返回非负数的平方根

MOD(x,y)  返回求余结果

 

获取整数函数

CEIL(x)和CEILING(x)  返回最小整数,类型为bigint

FLOOR(x)  返回最大整数,类型为bigint


随机数函数

RAND()  返回随机浮点值的数

四舍五入函数
ROUND(x)  返回x的四舍五入结果
ROUND(x,y)  返回x的四舍五入结果,保留y位小数

TRUNCATE(x,y)  返回x值去除y位小数后结果

 

幂运算函数

POW(x,y) 和 POWER(x,y)  返回x的y次方

 

 

 

posted @ 2022-11-15 10:23  Axs  阅读(19)  评论(0)    收藏  举报