zoukankan      html  css  js  c++  java
  • QQ管理

    ##用例1:查询数据

    #01.查询QQ号码为54789625的所有好友信息,包括QQ号码,昵称,年龄

     

    #1
    SELECT QQID,NickName,Age FROM baseinfo WHERE QQID =54789625
    #2
    SELECT `relation`.RelationQQID AS QQ号码,`baseinfo`.NickName AS 昵称,`baseinfo`.Age AS 年龄
     FROM BaseInfo,Relation
    WHERE BaseInfo.QQID=Relation.RelationQQID
     AND Relation.QQID=54789625
     AND RelationStatus=0

    #02.查询当前在线用户的信息

    #1
    SELECT *FROM qquser WHERE OnLine!=0
    #2
    SELECT NickName,`Province` FROM
    BaseInfo,QQUser
    WHERE BaseInfo.QQID=QQUser.QQID AND Online=0

    #03.查询北京的、年龄在1845岁之间的在线用户的信息

    SELECT *FROM baseinfo,qquser 
    WHERE baseinfo.QQID =qquser.QQID 
    AND baseinfo.Province='北京' 
    AND baseinfo.Age BETWEEN 18 AND 45 
    AND qquser.OnLine>0

    #04.查询昵称为青青草的用户信息

    SELECT * FROM `baseinfo` WHERE `NickName`='青青草'

    #05.查询QQ号码为54789625的用户的好友中每个省份的总人数,并且总人数按由大到小排序。

    #1
    SELECT COUNT(Province) FROM baseinfo WHERE QQID IN (
    SELECT QQID FROM relation WHERE RelationQQID
    IN(
    SELECT RelationQQID FROM relation WHERE QQID ='54789625' )
    )
    GROUP BY Province
    #2
    SELECT `baseinfo`.`Province`,COUNT(*) FROM `relation`,`baseinfo`
    WHERE `relation`.`RelationQQID`=`baseinfo`.`QQID`
    AND `relation`.`RelationStalus`=0
    AND `relation`.`QQID`=54789625
    GROUP BY `baseinfo`.`Province`
    ORDER BY COUNT(*) DESC

    #06.查询至少有150天未登录QQ账号的用户信息,包括QQ号码,最后一次登录时间、等级、昵称、年龄,并按时间的降序排列

     
    #1
    SELECT qquser.QQID, LastLogTime,LEVEL,NickName,Age FROM baseinfo,qquser 
    WHERE baseinfo.QQID=qquser.QQID AND baseinfo.QQID IN(
    SELECT QQID FROM qquser WHERE DATEDIFF(NOW(),LastLogTime)>=150 
    )
    GROUP BY LastLogTime
    
    #2
    SELECT QQUser.QQID,QQUser.LastLogTime,QQUser.Level,BaseInfo.NickName,BaseInfo.Age
    FROM BaseInfo,QQUser
    WHERE BaseInfo.QQID=QQUser.QQID
    AND DATEDIFF(NOW(),lastLogTime)>=150
    ORDER BY DATEDIFF(NOW(),lastLogTime) DESC

    #07.查询QQ号码为54789625的好友中等级为10级以上的“月亮”级用户信息。

    SELECT *FROM baseinfo WHERE QQID IN(
        SELECT QQID FROM qquser WHERE LEVEL>10 AND QQID IN(
            SELECT QQID FROM relation WHERE RelationQQID IN (
                SELECT RelationQQID FROM relation WHERE QQID ='54789625'
            )
        )
    ) 

    #08.--查询QQ号码为54789625的好友中隐身的用户信息。

    SELECT *FROM baseinfo WHERE QQID IN (
        SELECT QQID FROM qquser WHERE OnLine=0 AND QQID IN (
            SELECT QQID FROM relation WHERE RelationQQID IN (
                SELECT RelationQQID FROM relation WHERE QQID ='54789625'
            )
        )
    )

    #09.--查询好友超过20个的用户信息。

    SELECT *FROM baseinfo WHERE QQID IN (
        SELECT QQID FROM relation WHERE RelationQQID IN(
            SELECT RelationQQID FROM relation GROUP BY QQID HAVING COUNT(RelationQQID)>20
        )
    )

    #10.为了查看信誉度,管理员需要查询被当做黑名单人物次数排名前3的用户

    SELECT * FROM  baseinfo WHERE baseinfo.QQID IN(
        SELECT qquser.QQID FROM qquser WHERE baseinfo.QQID=qquser.QQID AND qquser.QQID IN(
        SELECT relation.QQID FROM relation WHERE relation.RelationStalus=1
    )
    ORDER BY qquser.Level DESC
    )
             LIMIT 3

    ##用例2修改数据

    #01.假设我的QQ号码为8855678,今天我隐身登录

    UPDATE `qquser` SET `online`=0 WHERE `QQID`=8855678

    #02.假设我的QQ号码为8855678,修改我的昵称为“被淹死的鱼”,地址为“解放中路号院123

    UPDATE `baseinfo` SET `NickName`='被淹死的鱼',`Address`='解放中路号院123室' WHERE `QQID`=8855678

    #03.假设我的QQ号码为54789625,将我的好友“青青草”拖进黑名单。

    UPDATE relation SET RelationStalus =1 WHERE QQID ='54789625'UPDATE relation SET RelationStalus =1 WHERE QQID ='54789625'

    #04.为了提高QQ用户的聊天积极性,把等级小于6级的用户的等级都提升1个级别。

    UPDATE qquser SET LEVEL =LEVEL+1 WHERE LEVEL<6

    #05.管理员将超过365天没有登录过的QQ锁定(即将等级值设定为-1)。

    UPDATE qquser SET LEVEL =-1 WHERE DATEDIFF(NOW(),LastLogTime)>=365 

    #06.为了奖励用户,将好友数量超过20的用户等级提升1个级别。

    UPDATE qquser SET LEVEL=LEVEL+1  WHERE (
    SELECT RelationQQID FROM relation GROUP BY QQID HAVING COUNT(RelationQQID)>20
    )

    #07.把QQ号码为54789625的用户的好友“嘟嘟鱼”拖进黑名单中。

    UPDATE  relation SET RelationStalus =1 WHERE QQID ='54789625'

    ##用例3删除数据

    #1.把QQ号码为54789625的用户黑名单中的用户删除。

    DELETE  FROM relation WHERE QQID='54789625'

    #2.QQ号码为54789625用户多次在QQ中发布违法信息,造成了很坏的影响,因此管理员决定将其删除。

    DELETE FROM baseinfo WHERE QQID ='54789625'

    #3.管理员将超过1000天没有登录过的QQ删除。

    DELETE FROM qquser WHERE DATEDIFF(NOW(),LastLogTime)>=1000
  • 相关阅读:
    接水果(fruit)
    大融合
    排序(sortb)
    latex公式测试
    次小生成树
    HDU 2973 YAPTCHA (威尔逊定理)
    状压DP概念 及例题(洛谷 P1896 互不侵犯)
    ICPC Asia Nanning 2017 F. The Chosen One (大数、规律、2的k次幂)
    HDU 1074 Doing Homework (状压DP)
    最长上升(不下降)子序列(LIS) 不同求解方法(动规、贪心)
  • 原文地址:https://www.cnblogs.com/fl72/p/8495770.html
Copyright © 2011-2022 走看看