强制大小写 select * from test where name like BINARY '%Adc%' mysql替换字段 update test set name= REPLACE (name,'Abc','abc')…
假设有A.B两表 A表中有个字段column_aa B表中有个字段column_bb 如果需要查询出B表中字段column_bb like A表中column_aa字段的纪录,可以使用如下语句 select A.* from A left join B on column_aa like concat("%",column_bb,"%") ; 通过concat拼接like的值.…
前天在问答区看到一个童鞋对于mysql中大小写问题不熟悉,在回复他后再次汇总梳理如下: mysql中大小写问题主要有以下两种: A.表名区分大小写 ower_case_table_names 是表名区分大小写的标识:在my.conf加入:ower_case_table_names = 0其中 0:区分大小写,1:不区分大小写 B.插入查询时区分大小写字段值需要设置BINARY属性,即可区分大小写.设置的方法有多种:创建时设置:CREATE TABLE T(A VARCHAR(10) BINARY…
ELECT userId , () AS runRank , mostFast1 FROM user_info, ()) b WHERE mostFast1 IS NOT NULL ORDER BY mostFast1 这种方式只能适用于不家group by的查询,如果加上group by那么排序就会有问题,至于什么原因不清楚…
今天看到别人问的问题,给别人写了一条sql! CREATE TEMPORARY TABLE tmp_table ( id INTEGER not NULL, uname VARCHAR(10) NOT NULL, ucode VARCHAR(10) NOT NULL, uprice INTEGER NOT NULL ); INSERT INTO tmp_table VALUES( 6, '张三', '891', 19 ); 数据集如上.按照uname,ucode分组, 我需要得到的结果是: 取出…
id sid cid 1 1 12 1 23 2 1 以sid分组,最后取cid最大的那一条,以上要取第2.3条 1 方法一: select * from (select * from table order by cid desc) as a group by a.sid 方法二: select a.* from table as a where cid = (select max(cid) from table where a.sid = sid) 方法三: select a.* from…
select GROUP_CONCAT(id) as ids from yii_role_menu where roleId=1;…
我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SELECT * FROM `user` WHERE userpass = 'z20'; 结果为: 因此,MySQL默认是不会对字段的值区分大小写的.所以我们就要用到binary关键字来强制区分大小写. binary使用时只需在查询的条件前面加上它就可以.看例子: 3.SELECT * FROM `us…
Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值 Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,is not null在thinkphp中就不能用“=” 或者简单的eq等来表示.TP支持MYSQL不为空的array编写方式:$data = D('tablename');$map = array();$map['pic'] = array('exp','is not null');其中的exp表示MYSQL的表达式查询,支持各种M…
mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个库中的哪一张表 select table_schema,table_name from information_schema.columns where column_name = '字段名'…