欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL经验总结

程序员文章站 2024-03-18 21:42:28
...
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();
相关标签: mySQL、数据库