MYSQL经验总结

1、在mySQL中存取字段区分大小写:即增加一个关键字 BINARY
PASSWD` varchar(50) BINARY DEFAULT NULL



2、根据不同条件更新同一字段的值,使之随着不同的条件而更新不同的值:
也就是 CASE WHEN THEN 的另一种用法
UPDATE audit_system_conf SET VALUE=CASE 
	WHEN NAME = 'HIGHRISK' AND FLAG = 2 THEN '150'
	WHEN NAME = 'MIDDLERISK' AND FLAG = 2 THEN '120'
	WHEN NAME = 'LOWRISK'  AND FLAG = 2 THEN '120' 
	ELSE VALUE
END


3、同时统计多个字段的总数,根据不同条件:
select 
 sum(if(c.RISK_LEV=1,1,0)) AS HIGHRISK,
 sum(if(c.RISK_LEV=2,1,0)) AS MIDDRISK,
 sum(if(c.RISK_LEV=0,1,0)) AS LOWRISK
 FROM audit_record as c


4、以下两种方式都可以得到分组后的组数结果

select count(DISTINCT(cx)) from  sdvs;

select count(*) from (select * from dsads group by dsvds) AS newTable

5、只查询出系统当前时间 不要日期
select CONVERT(varchar(12) , getdate(), 108 ),解释说明:
一个日期格式化函数  CONVERT(VARCHAR(n),字段,格式)
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

6、加载数据脚本
DROP PROCEDURE IF EXISTS createDate;
CREATE PROCEDURE `createDate`()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE j INT default 1;
DECLARE k INT DEFAULT 1;
WHILE k <= 1 DO
WHILE i <= 10 DO
WHILE j <= 1000000 DO

SET j = j+1;
END WHILE;
SET j = 1;
SET i = i + 1;                              
END WHILE;
SET j = 1;
SET i = 1;
SET k = k + 1;
END WHILE;
END;

CALL createDate();

猜你喜欢

转载自zhourrr1234-126-com.iteye.com/blog/1741251