创建QQ数据库

#创建数据库
CREATE DATABASE QQ
#创建表名 并且添加列
DROP TABLE IF EXISTS `dbo.BaseInfo`;
CREATE TABLE `student`(
QQID INT PRIMARY KEY AUTO_INCREMENT,
NickName VARCHAR(),
Sex INT,
Age INT ,
Province VARCHAR(),
City VARCHAR(),
Address VARCHAR(),
Phone INT
)
#修改表名
ALTER TABLE student RENAME BaseInfo
#添加BaseInfo表qq表的信息数据
INSERT INTO student (QQID,NickName,Sex,Age,Province,City,Address,Phone)VALUES
(,'独行侠',,,'北京','海淀区','上地',),
(,'蝴蝶飞飞',,,'北京','朝阳区','亚运村',),
(,'青青草',,,'河南省','安阳','汤阴',); #创建QQUser表并且添加列
CREATE TABLE `QQUser`(
QQID INT PRIMARY KEY AUTO_INCREMENT,
PASSWORD VARCHAR(),
LastLogTime DATETIME,
OnLine INT ,
LEVEL INT
)
#添加QQUser表的信息数据
INSERT INTO QQUser (QQID,PASSWORD,LastLogTime,OnLine,LEVEL)VALUES
(,'guest0221','2008-02-21 16:28:20:000',,),
(,'add521#&','2008-02-16 17:01:35:000',,),
(,'admin0219','2008-02-19 21:08:35:000',,); #删除表名
DROP TABLE QQUser
#创建QQUser表并且添加列
CREATE TABLE `Relation`(
QQID INT ,
RelationQQID INT,
RelationStalus INT
)
#添加QQUser表的信息数据
INSERT INTO Relation (QQID,RelationQQID,RelationStalus)VALUES
(,,),
(,,),
(,,);
.查询QQ号码为54789625的所有好友信息,包括QQ号码,昵称,年龄
SELECT QQID,NickName,Age FROM baseinfo WHERE QQID = #.查询当前在线用户的信息
SELECT *FROM qquser WHERE OnLine!= #.查询北京的、年龄在18至45岁之间的在线用户的信息
SELECT *FROM baseinfo,qquser
WHERE baseinfo.QQID =qquser.QQID AND baseinfo.Province='北京' AND baseinfo.Age BETWEEN AND AND qquser.OnLine> #.查询昵称为青青草的用户信息
SELECT *FROM baseinfo WHERE NickName='青青草' #.查询QQ号码为54789625的用户的好友中每个省份的总人数,并且总人数按由大到小排序。
SELECT COUNT(Province) FROM baseinfo WHERE QQID IN (
SELECT QQID FROM relation WHERE RelationQQID
IN(
SELECT RelationQQID FROM relation WHERE QQID ='' )
)
GROUP BY Province #.查询至少有150天未登录QQ账号的用户信息,包括QQ号码,最后一次登录时间、等级、昵称、年龄,并按时间的降序排列
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 ) >=
)
GROUP BY LastLogTime #.查询QQ号码为54789625的好友中等级为10级以上的“月亮”级用户信息。
SELECT *FROM baseinfo WHERE QQID IN(SELECT QQID FROM qquser WHERE LEVEL> AND QQID IN(
SELECT QQID FROM relation WHERE RelationQQID IN (
SELECT RelationQQID FROM relation WHERE QQID =''
))) #.--查询QQ号码为54789625的好友中隐身的用户信息。
SELECT *FROM baseinfo WHERE QQID IN (SELECT QQID FROM qquser WHERE OnLine= AND QQID IN (
SELECT QQID FROM relation WHERE RelationQQID IN (
SELECT RelationQQID FROM relation WHERE QQID =''
))) #.--查询好友超过20个的用户信息。
SELECT *FROM baseinfo WHERE QQID IN (
SELECT QQID FROM relation WHERE RelationQQID IN(
SELECT RelationQQID FROM relation GROUP BY QQID HAVING COUNT(RelationQQID)>)
) #.为了查看信誉度,管理员需要查询被当做黑名单人物次数排名前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=
)
ORDER BY qquser.Level DESC
)
LIMIT ##用例2:修改数据
#.假设我的QQ号码为8855678,今天我隐身登录
UPDATE qquser SET OnLine='' WHERE QQID ='' #.假设我的QQ号码为8855678,修改我的昵称为“被淹死的鱼”,地址为“解放中路号院123室”
UPDATE baseinfo SET NickName='被淹死的鱼',Address ='解放中路号院123室' WHERE QQID='' #.假设我的QQ号码为54789625,将我的好友“青青草”拖进黑名单。
UPDATE relation SET RelationStalus = WHERE QQID ='' #.为了提高QQ用户的聊天积极性,把等级小于6级的用户的等级都提升1个级别。
UPDATE qquser SET LEVEL =LEVEL+ WHERE LEVEL< #.管理员将超过365天没有登录过的QQ锁定(即将等级值设定为-)。
UPDATE qquser SET LEVEL =- WHERE DATEDIFF(NOW(),LastLogTime ) >= #.为了奖励用户,将好友数量超过20的用户等级提升1个级别。
UPDATE qquser SET LEVEL=LEVEL+ WHERE (
SELECT RelationQQID FROM relation GROUP BY QQID HAVING COUNT(RelationQQID)>) #.把QQ号码为54789625的用户的好友“嘟嘟鱼”拖进黑名单中。
UPDATE relation SET RelationStalus = WHERE QQID ='' ##用例3:删除数据
#.把QQ号码为54789625的用户黑名单中的用户删除。
DELETE FROM relation WHERE QQID='' #.QQ号码为54789625的用户多次在QQ中发布违法信息,造成了很坏的影响,因此管理员决定将其删除。
DELETE FROM baseinfo WHERE QQID ='' #.管理员将超过1000天没有登录过的QQ删除。
UPDATE FROM qquser WHERE DATEDIFF(NOW(),LastLogTime ) >=

数据库编程测试机试 QQ的更多相关文章

  1. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  2. 提高你的数据库编程效率:Microsoft CLR Via Sql Server

    你还在为数据库编程而抓狂吗?那些恶心的脚本拼接,低效的脚本调试的日子将会与我们越来越远啦.现在我们能用支持.NET的语言来开发数据库中的对象,如:存储过程,函数,触发器,集合函数已及复杂的类型.看到这 ...

  3. VB.NET数据库编程基础教程

    关键词:作者罗姗   众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的.其中,ADO. ...

  4. java面向对象下:Java数据库编程

    19.Java数据库编程: JDBC概述:        JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...

  5. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  6. .Net程序员学用Oracle系列(3):数据库编程规范

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变 ...

  7. java 数据库编程 学习笔记 不断更新

    最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ...

  8. Windows数据库编程接口简介

    数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如Windows上的注册表其实也是一种数据库),有些软件更是以数据库为核心因此掌握数据库系统的使用方法 ...

  9. JAVA数据库编程、JAVA XML解析技术

    JDBC概述 JDBC是JAVA中提供的数据库编程API curd :数据库增删改 链接字符串:String url = "mysql :/localhost :3306/jdbc/&quo ...

随机推荐

  1. Python Scrapy 爬取煎蛋网妹子图实例(二)

    上篇已经介绍了 图片的爬取,后来觉得不太好,每次爬取的图片 都在一个文件下,不方便区分,且数据库中没有爬取的时间标识,不方便后续查看 数据时何时爬取的,所以这里进行了局部修改 修改一:修改爬虫执行方式 ...

  2. php oracle数据库clob和nclob字段

    php oracle数据库clob和nclob字段 nclob类型 1.nclob不能使用php的stream_get_contents来获取数据库的资源内容, 2.并且nclob只能使用to_cha ...

  3. Learning by doing——百日“扇贝打卡” 历程&展望

    Java结课了.如果说这学期学习这门课后最明显的成果,那就是写了那么多的博客吧.而如果说本学期最有里程碑的事,那就是背了100多天单词,其中还获得了徽章! 这次想说说从中学以来一直喜欢的一门课--英语 ...

  4. Synergy软件的基本配置/使用(详细教程)

    1.Synergy软件的简介 Synergy是一款可让多台电脑共享一个鼠标与键盘的软件,用户可借助Synergy操作一个鼠标与键盘控制多个电脑…… 2.Synergy软件的配置过程 下载链接:计算机相 ...

  5. LeetCode--429--N叉树的层序遍历

    问题描述: 给定一个N叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 ...

  6. 20180831xlVBA_WorkbooksCosolidate

    Sub WorkbooksConsolidate() Rem 设置求和区域为 sheet名称/单元格区域;sheet名称/单元格区域 Const Setting As String = "S ...

  7. HDOJ-1156 Brownie Points II 线段树/树状数组(模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=1156 在一张二位坐标系中,给定n个点的坐标,玩一个划线游戏(线必须穿过点),Stan先手画一条垂直的线,然后Ol ...

  8. windows上使用composer安装yii2

    切换成中国镜像 composer config -g repo.packagist composer https://packagist.laravel-china.org 在电脑的dos命令中写入: ...

  9. eclipse指定jdk路径

  10. NestedScrollView嵌套ListView时只显示一行的解决方法

    在使用CoordinatorLayout和AppBarLayout实现嵌套滑动的时候,出现listview没有嵌套滑动: 如果要实现嵌套滑动,则需要添加NestedScrollView,但是结果发现l ...