mysql -h localhost -u root -p
然后会让输入密码
查看当前配置参数(wait_timeout为例):
show session variables like '%wait_timeout%'(或去掉session也一样)这是当前会话配置参数
现在我们来改这个值:
set wait_timeout=90
然后我们一起再查看下当前配置参数:
show variables like '%wait_timeout%'
这是修改当前会话配置,当退出再新起一个会话时就会恢复原样。
想在所有会话都有效可以设置全局配置,参数把session改为global就可以了
set global wait_timeout=90后再查看
show global variables like '%wait_timeout%'
再退出后重新进入看看,值还是在。
1、常见用法:
(1)搭配%使用
%代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据:
(2)搭配_使用
_代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一条数据。
2、使用like模糊查询会导致索引失效,在数据量大的时候会有性能问题
(1)尽量少以%或者_开头进行模糊查询
通过explain执行计划,我们发现,使用like模糊查询时,如果不以%和_开头查询的话,索引还是有效的。
(2)使用覆盖索引
当查询的的条件和查询的结果都是索引中的字段的时候,这个索引我们可以称之为覆盖索引,这个时候,使用like模糊查询索引是有效的。
InnoDB中主键可以不添加进索引中
注意:使用覆盖索引,对于字段的长度是由要求限制的,一般超过长度,索引也会失效
这里如果查询中带有descripition字段,则覆盖索引也会失效。
扩展资料
like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
一、% 包含零个或多个字符的任意字符串:
1、like'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、like'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
二、:_(下划线) 任何单个字符:
like'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
三、[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:
1,like'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
LIKE运算符用于WHERE表达式中,以搜索匹配字段中的指定内容,语法如下:
LIKE通常与通配符%一起使用进行模糊匹配,%表示通配pattern中出现的内容,而不加通配符%的LIKE语法,表示精确匹配,其实际效果等同于 = 等于运算符。SQL LIKE 子句中使用百分号 %字符来表示任意字符。
MySQL LIKE 匹配字符的时候,默认情况下是不区分大小写的,如果在需要区分大小写的时候,可以加入BINARY *** 作符:
MySQL中使用 REGEXP *** 作符来进行正则表达式匹配。
实例:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)