MySQL数据类型与运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/daaikuaichuan/article/details/84073672

一、数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【char和varchar】:

  • char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
  • char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
  • char类型的字符串检索速度要比varchar类型的快。

【varchar和text】:

  • varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
  • text类型不能有默认值。
  • varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、运算符

在这里插入图片描述
在这里插入图片描述

  比较运算符中需要注意"=","<>“和”<=>“的区别。”=“用于比较操作数是否相等,相等为1,但是不能用于比较NULL(NULL=NULL),”<>“的操作和”=“的意思刚好相反,也可以写作”!=",也不能用于比较NULL。"<=>“和”="意思相同,但是可以用来比较NULL(NULL<=>NULL 返回值为1)。LIKE作为通配符的匹配,REGEXP或RLIKE可以作为正则表达式的匹配。

  • BETWEEN运算符的格式:a between min and max ,例如:select 10 between 1 and 20;
  • IN运算符的格式:a IN (value1, value2),例如:select 3 in (3,4,5);
  • like运算符格式:a like %123%,当含有字符串123时返回1,否则返回0,例如:select 123456 like ‘123%’, 123456 like “%123%”;
  • REGEXP运算符格式:str regexp str_pat,当str中含有str_pat相匹配的字符串时,则返回1,否则返回0。例如:select ‘abcdef’ regexp ‘ab’,‘abcdef’ regexp ‘k’。

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/daaikuaichuan/article/details/84073672