zoukankan      html  css  js  c++  java
  • SQL 语句学习

     Sql语句学习
    一、
    select playerId, count(playerId) as num from OperateLog_$i where playerId > 0 and rootId = 12 and typeId = 12156 and actionTime >= 1381509000000 and actionTime <= 1381511220000 group by playerId having count(*) > 2;
    this-- > 可以计算出多条记录的记录数
    this --> 可以计算出拥有多条记录的playerId
     

     星期二,2014年1月14日
    SQL,where 1 = 1 和 1 = 0 的妙用
    where 1 = 1 : 
            为了给有些不确定是否可以添加where语句的加上保障
    where 1 = 0 :
            主要用于创建一个新表,而新表的结构与查询的表的结构是一样的。如下SQL语句:  
                create table newtable as select * from oldtable where 1=0;  
    SQL语句添加 if 语句:、
            select * from ConfigGoods where 1=1 #if(type > 0){ type = 4};
    SQL 日期增减
            select * from table where date < DATE_ADD(now(), INTERVAL -7 DAY);

     星期一,2014年5月5日
    MySQL 的表结构-----InnoDB MyISAM
    1. InnoDB 不支持 FULLTEXT 的索引建立
    2. InnoDB 删除表的时候不会建新表,而是一行一行地删除
    3. InnoDB 的行锁不是绝对的,在不确定的时候(where xx like '%xx')会锁住整个表
    4. 建立良好的索引后,InnoDB 的速度可以比MyISAM快
    5. InnoDB 不会保存行数,执行 count(*) 语句时,InnoDB需要扫描整个表计算行数,MyISAM只需要读取行数,但是添加 where 条件后,两者速度一样
     
    注意: 设置 innodb_flush_log_at_trx_commit 为 1 的话,每次插入都会自动提交(刷新日志),性能会急剧下降,应该设定为 0
    总结 :InnoDB自身很多良好的特点,比如事务支持、存储过程、视图、行级锁定等等,在并发很多的情况下,相信InnoDB的表现肯定要比MyISAM强很多

     星期二,2014年5月13日
    MYSQL 转换时间函数
    FROM_UNIXTIME(eventTime, '%Y-%m-%d %H:%m:%s')
  • 相关阅读:
    BZOJ 1707 [Usaco2007 Nov]tanning分配防晒霜
    BZOJ2697:特技飞行
    Bridging signals(NlogN最长上升子序列)
    HDU 4291 A Short problem(矩阵+循环节)
    计蒜之道 初赛第一场B 阿里天池的新任务(简单)
    1008: [HNOI2008]越狱
    1022: [SHOI2008]小约翰的游戏John
    1192: [HNOI2006]鬼谷子的钱袋
    2456: mode
    BZOJ-1968
  • 原文地址:https://www.cnblogs.com/fatcat132006/p/4017771.html
Copyright © 2011-2022 走看看