模拟测试:

QQ数据库管理

一、创建数据库并添加关系和测试数据

 ##创建QQ数据库,完成简单的测试

 #创建数据库
DROP DATABASE IF EXISTS MyQQ;
CREATE DATABASE MyQQ;
USE MyQQ; #在数据库创建基本数据表 #创建User表
DROP TABLE IF EXISTS `User`;
CREATE TABLE `User`(
qqID INT(11) NOT NULL PRIMARY KEY COMMENT 'QQ号码',
`passWord` VARCHAR(50) NOT NULL COMMENT 'QQ密码',
lastLogTime DATETIME DEFAULT NOW() COMMENT'最后一次登录时间',
onLine INT(4) DEFAULT 0 COMMENT '登录状态:0离线 1在线 2隐身',
`level` INT(4) DEFAULT 1 COMMENT 'QQ等级'
)COMMENT="QQ用户表"; #创建用户信息表
DROP TABLE IF EXISTS BaseInfo;
CREATE TABLE BaseInfo(
qqID INT(11) NOT NULL PRIMARY KEY COMMENT 'QQ号码',
NickName VARCHAR(50) COMMENT '昵称',
Sex INT(4) DEFAULT 0 COMMENT '性别:0女 1男',
Age INT(4) COMMENT '年龄',
Province VARCHAR(50) DEFAULT '北京' COMMENT '省份',
City VARCHAR(50) COMMENT '城市',
Address VARCHAR(255) COMMENT '地址',
Phone VARCHAR(11) COMMENT '联系电话'
)COMMENT="用户信息表"; #创建QQ好友关系表
DROP TABLE IF EXISTS Relation;
CREATE TABLE Relation(
qqID INT(11) NOT NULL COMMENT 'QQ号码',
RelationQQID INT(11) NOT NULL COMMENT 'QQ好友',
RelationStatus INT(4) DEFAULT 0 NOT NULL COMMENT '好友状态:0好友 1黑名单'
)COMMENT="QQ好友"; ##创建表关系(外键) ALTER TABLE BaseInfo
ADD CONSTRAINT fk_baseinfo_user FOREIGN KEY (qqID)
REFERENCES `User`(qqID); ALTER TABLE Relation
ADD CONSTRAINT fk_qqid_user FOREIGN KEY (qqID)
REFERENCES `User`(qqID); ALTER TABLE Relation
ADD CONSTRAINT fk_reid_user FOREIGN KEY (RelationQQID)
REFERENCES `User`(qqID); ##添加测试数据 #User表数据
INSERT INTO USER(qqID,PASSWORD,lastLogTime,onLine,`level`)
VALUES(8855678,'guest0221','2008-02-21 16:28:20',1,6),
(54789625,'add512#&','2008-01-16 17:01:35',2,11),
(88662753,'admin0219','2017-07-01 21:08:35',0,5); #BaseInfo表数据
INSERT INTO BaseInfo(qqID,NickName,Sex,Age,Province,City,Address,Phone)
VALUES(8855678,'独行侠',1,38,'北京','海淀区','上地',''),
(54789625,'蝴蝶飞飞',1,16,'北京','朝阳区','亚运村',''),
(88662753,'青青草',0,20,'河南省','安阳','汤阴',''); #Relation表数据
INSERT INTO Relation(qqID,RelationQQID,RelationStatus)
VALUES(54789625,88662753,0),
(88662753,8855678,1),
(54789625,8855678,0);

二、实现查询,修改,删除等操作

【学习笔记】2017年7月18日MySQL测试:模拟QQ数据库的更多相关文章

  1. 路冉的JavaScript学习笔记-2015年1月23日

    1.JavaScript的数据类型 A.原始类型:包含数值.字符串.布尔值.空值(null)和未定义值(undefined). Js原始类型均为不可改变类型.对不可变类型调用任何自带方法都不会改变原始 ...

  2. 通用Mapper新特性:ExampleBuilder 2017年12月18日

    package tk.mybatis.mapper.test.example; import org.apache.ibatis.session.SqlSession; import org.juni ...

  3. 4月18日 MySQL学习

    正式开始了数据库的学习 昨天下好的MySQL 今天正式开始学习的,介绍了多种数据库软件,当然 学习的这个是开源的 免费的. DBMS(数据库管理系统)这就是我们学习的数据库的软件 数据库分为关系型数据 ...

  4. Html标记语言学习一2017年6月12日

    今天主要学习了 frame的用法. <frameset> 可以将网页分成几个不同的部分 使用 cols  和  rows 两种标记.前者是列,后者是行 <frame/>  单标 ...

  5. 路冉的JavaScript学习笔记-2015年2月5日

    1.为Js原始值创建临时对象,并进行属性引用 var s="text"; s.len=4;//这里Js调用new String(s)的方法创建了一个临时对象,用来属性引用 cons ...

  6. Git学习(二)(2015年11月18日)(2016年1月29日)

    2015年11月18日Git学习: .Shell 删除文件夹及其所有文件 rd/s/q 文件目录 ---------------当前为先创建本地Git库后与网上Git服务器关联------------ ...

  7. 2017年8月9日学习内容存放 #socket通信介绍

    2017年8月9日学习内容存放 #socket通信介绍 ''' OSI七层 应用 表示 会话 传输 网络 ip 数据链路 mac 物理层 网线 http smtp dns ftp ssh snmp i ...

  8. 深度学习DeepLearning技术实战(12月18日---21日)

    12月线上课程报名中 深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电 ...

  9. 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发

    ABP代码生成器介绍 ABP Code Generator 针对abp这个框架做了一个代码生成器,功能强大.分为两大功能点,一个是数据层,一个是视图层. 数据服务层:通过它,可以实现表设计.领域层初始 ...

随机推荐

  1. OOP1(定义基类和派生类)

    面向对象程序设计基于三个基本概念:数据抽象,继承和动态绑定 数据抽象是一种依赖于接口和实现分离的编程技术.继承和动态绑定对程序的编号有两方面的影响:一是我们可以更容易地定义与其它类相似但不完全相同的类 ...

  2. 【bzoj4804】欧拉心算 莫比乌斯反演+莫比乌斯函数性质+线性筛

    Description 给出一个数字N 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(gcd(i,j))\) Input 第一行为一个正整数T,表示数据组数. 接下来T ...

  3. 大型php网站性能和并发访问优化方案(转载自php中文网)

               网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎 ...

  4. Cboard 实现看板里面图表仪表盘之间的联动

    首先要了解Cboard的概念, 1.看板 2.图表 看Cborad的菜单知道了,首先先设计图表,可以展现未柱状图或者其它图片形式或者数据表格式.然后看板可以由多个图表组合而成. 需求如下: 看板包含两 ...

  5. Qt 学习之路 2(72):线程和事件循环

    Qt 学习之路 2(72):线程和事件循环 <理解不清晰,不透彻>  --  有需求的话还需要进行专题学习  豆子  2013年11月24日  Qt 学习之路 2  34条评论 前面一章我 ...

  6. C++_代码重用1-总览

    C++的主要目的是促进代码重用. 公有继承是实现这一目标的机制之一: 本身是另一个类的成员,这种方法称为包含.组合.层次化. 另一种方法是使用私有.保护继承. 通常包含.私有继承和保护继承用于实现ha ...

  7. BZOJ - 2157 树链剖分+线段树

    /*H E A D*/ int from[maxn<<1],to[maxn<<1],nxt[maxn<<1],cost[maxn<<1],head[ma ...

  8. [转] Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法

    [From] http://blog.csdn.net/qq_21397217/article/details/52447263 1. 安装Fcitx所需组件 $ sudo apt install f ...

  9. 在python3.5中pip安装scrapy,遇到 error: Microsoft Visual C++ 14.0 is required

    本来在python3.5中安装scrapy一路顺畅(pip install scrapy),中间遇到一个 error: Microsoft Visual C++ 14.0 is required. x ...

  10. sqlmap命令小结

    --technique 这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式. 支持的探测方式如下: B: Boolean-based blind SQL injection(布尔型 ...