1.使用regexp进行正则表达式的语句
查询包含@163.com或者@163,com的记录:
select first_name,email from customer where email regexp '@163[,.]com$';
查询的字符串是否以a开头:
查询的字符串是否以g结尾:
查询的字符串是否包含一个或多个h,查询的字符串是否包含一个或多个f:
查询的字符串时候包含fhk中的其中之一个字母:
查询的字符串是否不包含xyz其中之一的字母,不包含返回1,包含返回0:
2.rand()函数返回排序好的随机几条数据,做抽样抽查很有用:
3.group by +with rollup 让统计的数据增加合计信息,但是with rollup 不能和order by语句一同使用,因为两者互斥:
4.group by语句和bit_or或操作函数和bit_and与操作函数,可以让统计行的整列做或操作和与操作:
比如一家商店卖啤酒、牛奶、香肠、方便面,怎样可以统计出某个用户每次去商店都买了哪个商品。我们就可以用二进制0000 四位记录每个顾客每次来超市都买了啤酒、牛奶、香肠、方便面中的什么商品。位置上1就是买了位置上为0就是没买,比如1010就是说明该顾客这次来超市买了啤酒和香肠,然后把二进制在转化成10进制数字存起来。
这样的话我们就可以统计每个用户来超市都买过什么商品:
上面结果5转为二进制就是0101说明顾客1买过牛奶和方便面,顾客2是7转为二进制是0111说明顾客2买过牛奶、香肠、方便面。
统计每个顾客每次来超市都会买的商品:
顾客1结果4转为二进制是0100表示顾客1每次来超市都买香肠,顾客2结果是0 转为二进制是0000,表时没有哪个商品是顾客2每次来超市都被购买的。
5.注意外键的建立语句如constraint fk_userid_id foreign key(userid) references users2(id) 在myisam引擎是不起作用的,只有在innodb引擎中才起作用。