sql的where条件数据量小的时候无所谓,如果数据量大的时候多条件搜索需将排除范围大的排到前面,数值型排到前面等规则会减少搜索时间。
alter table card_11201 MODIFY house TINYINT(1) DEFAULT 0;
添加用add
设置默认值
ALTER TABLE u_user_9 ALTER COLUMN `power` SET DEFAULT ''
mysql 区间搜索
BETWEEN配合and也可以配合not尽心val1和val2直接范围搜索
WHERE column BETWEEN value1 AND value2
WHERE column NOT BETWEEN value1 AND value2
替换字符串内部分内容
UPDATE `表名` SET 字段= REPLACE ( 字段,'原内容','新内容' ) WHERE 条件可选;
数值字段加随机30~300+350的数
update xxl_article_21 set hits = hits + (RAND()*300+350) WHERE hits<350;
数值类自增
update student set score=score+1 where id = 1
关键词搜索//%任意,_ 匹配单个字符
SELECT * FROM 表名 WHERE 字段名 like "%关键词%" LIMIT 10;
SELECT * FROM 表名 WHERE 字段名 like "%关键词__" LIMIT 10;
将字段1复制到字段2
UPDATE xxl_article_21 m1,xxl_article_21 m2 SET m1.hitsfalse=m2.hits WHERE m1.itemid=m2.itemid
可将字段作为变量进行运算,where是为查询前条件,having是为查询分组后条件
SELECT contacts,SUM(addtime-edittime) as time FROM xxl_event2017 where addtime>141111111 GROUP BY contacts HAVING time >86400
from_unixtime 时间戳转日期时间
SELECT phone_num,FROM_UNIXTIME(reg_time) as time from end_user WHERE phone_num = 18500000000
UNIX_TIMESTAMP(‘2018-3-1’);与之相反,日期转时间戳