首页 > 代码库 > 【学习笔记】2017年7月18日MySQL测试:模拟QQ数据库

【学习笔记】2017年7月18日MySQL测试:模拟QQ数据库

模拟测试:

QQ数据库管理

技术分享一、创建数据库并添加关系和测试数据

 1 ##创建QQ数据库,完成简单的测试
 2 
 3 #创建数据库
 4 DROP DATABASE IF EXISTS MyQQ;
 5 CREATE DATABASE MyQQ;
 6 USE MyQQ;
 7 
 8 #在数据库创建基本数据表
 9 
10 #创建User表
11 DROP TABLE IF EXISTS `User`;
12 CREATE TABLE `User`(
13     qqID INT(11) NOT NULL PRIMARY KEY COMMENT QQ号码,
14     `passWord` VARCHAR(50) NOT NULL COMMENT QQ密码,
15     lastLogTime DATETIME DEFAULT NOW() COMMENT最后一次登录时间,
16     onLine INT(4) DEFAULT 0 COMMENT 登录状态:0离线 1在线 2隐身,
17     `level` INT(4) DEFAULT 1 COMMENT QQ等级
18 )COMMENT="QQ用户表";
19 
20 #创建用户信息表
21 DROP TABLE IF EXISTS BaseInfo;
22 CREATE TABLE BaseInfo(
23     qqID INT(11) NOT NULL PRIMARY KEY COMMENT QQ号码,
24     NickName VARCHAR(50) COMMENT 昵称,
25     Sex INT(4) DEFAULT 0 COMMENT 性别:0女 1男,
26     Age INT(4) COMMENT 年龄,
27     Province VARCHAR(50) DEFAULT 北京 COMMENT 省份,
28     City VARCHAR(50) COMMENT 城市,
29     Address VARCHAR(255) COMMENT 地址,
30     Phone VARCHAR(11) COMMENT 联系电话
31 )COMMENT="用户信息表";
32 
33 #创建QQ好友关系表
34 DROP TABLE IF EXISTS Relation;
35 CREATE TABLE Relation(
36     qqID INT(11) NOT NULL COMMENT QQ号码,
37     RelationQQID INT(11) NOT NULL COMMENT QQ好友,
38     RelationStatus INT(4) DEFAULT 0 NOT NULL COMMENT 好友状态:0好友 1黑名单
39 )COMMENT="QQ好友";
40 
41 ##创建表关系(外键)
42 
43 ALTER TABLE BaseInfo
44 ADD CONSTRAINT fk_baseinfo_user FOREIGN KEY (qqID)
45 REFERENCES `User`(qqID);
46 
47 ALTER TABLE Relation
48 ADD CONSTRAINT fk_qqid_user FOREIGN KEY (qqID)
49 REFERENCES `User`(qqID);
50 
51 ALTER TABLE Relation
52 ADD CONSTRAINT fk_reid_user FOREIGN KEY (RelationQQID)
53 REFERENCES `User`(qqID);
54 
55 ##添加测试数据
56 
57 #User表数据
58 INSERT INTO USER(qqID,PASSWORD,lastLogTime,onLine,`level`)
59 VALUES(8855678,guest0221,2008-02-21 16:28:20,1,6),
60 (54789625,add512#&,2008-01-16 17:01:35,2,11),
61 (88662753,admin0219,2017-07-01 21:08:35,0,5);
62 
63 #BaseInfo表数据
64 INSERT INTO BaseInfo(qqID,NickName,Sex,Age,Province,City,Address,Phone)
65 VALUES(8855678,独行侠,1,38,北京,海淀区,上地,13609887788),
66 (54789625,蝴蝶飞飞,1,16,北京,朝阳区,亚运村,15665788768),
67 (88662753,青青草,0,20,河南省,安阳,汤阴,13268789432);
68 
69 #Relation表数据
70 INSERT INTO Relation(qqID,RelationQQID,RelationStatus)
71 VALUES(54789625,88662753,0),
72 (88662753,8855678,1),
73 (54789625,8855678,0);

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

【学习笔记】2017年7月18日MySQL测试:模拟QQ数据库