毕业设计:基于cmake的爱恩斯坦棋对战系统(一)数据库的设计
大学四年,时光匆匆。现在是2022年4月6日22点整,距离结束我的大学生活还有3个月左右的时间,在今年2月份的时候,沈阳的疫情还没那么严重,我面试了校招中的中国科学院沈阳计算技术研究所,应聘的工作岗位是C++开发,我在大学中多次参加计算机类竞赛,所以在大学中使用最多的技术是C++开发和web前端开发,当然,在大学中学到的知识也非常浅显。由于疫情的原因,我一共参加了3轮面试1轮笔试,除了终面外均是在线上进行,也是运气不错,我成功的拿到了这次实习的机会,本来计划3月份进京做项目,当时内心还是比较忐忑,当时我对于Qt、cmake、API、数据库等知识了解的比较浅显(当时只会java连接数据库调用接口等),但是人算不如天算,3月中旬,吉林省爆发疫情,隔壁的辽宁也受到了波折,我刚进到研究所没多久就开始隔离,一直到了现在,我依旧是被隔离在研究所中,老师们和领导们都已居家办公,我只能跟研究生们一起在实验室里默默地”搬砖“,虽然很无聊但是也给我了缓冲的时间,在计算所中领导安排了两位老师带我,负责给我留一些基础的任务来练习C++,老师们人很好,知无不言,也没有架子,老师们给我留的任务我会在另一篇博客中说明,也给初学C++的同学们当项目参考啦。
今天下午,带我的毕设老师开了一个线上毕业设计会议,我这才想起,距离我提交开题报告已经有半年的时间了,所以我这两天开始准备我的毕业设计,在大二的时候,我用EazyX开发了一款基于蒙特卡洛算法的爱恩斯坦棋对战系统,当时为了参加中国大学生计算机博弈大赛而做(全国一等奖哦^_^),由于我现在的岗位是C++开发,我由此想以新学到的技术,使用cmake和Qt等重新完善这个系统,并且升级一下算法,话不多说,以下为我的毕设内容。
首先,我准备给程序设计一个数据库。数据库是为了存储用户的账号密码等信息,我限制了使用手机号码进行注册,密码为字幕与数字的组合6-12位,我使用了正则表达式的方式进行限制,同时密码进行了加密处理。我先建立一个数据库。代码如下:
CREATE DATABASE IF NOT EXISTS login_info;
然后选择建立的数据库。
USE login_info;
最后建立表,数据库建立完成,
CREATE TABLE `info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(12) NOT NULL, `password` varchar(20) NOT NULL, `lastloginTime` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8