创建游戏数据库,最基本的字段有哪些

创建游戏数据库,最基本的字段有哪些,第1张

我说说我能想到的 首先 要大概知道需要几个表 肯定不能把所有的数据都放在一个表中 呵呵

用户表是必须的 userId userPassword userLevel(是否为会员之类的标记) user身份z号 userName userEmail 暂且这些

游戏人物需要一个表该表的有个uid字段与 用户表的userId关联 并形成一对多关系 一个userID对应 多个游戏人物

需要 游戏人物ID 人物级别 人物职业 人物性别 暂且这些

然后定义一个游戏人物详细的表

需要 一个外键 gameId 与 游戏人物那个表的 游戏人物ID关联

字段应该有 人物血 人物蓝 人物攻击 人物魔法 人物防御 人物移动速度

当然我给你的就是个简单的思路 如果你做 角色扮演类游戏 我想这些字段是必须的 具体要哪些字段 还要看你做什么游戏,没有必要过于拘泥,完全可以根据自己的游戏内容进行表的定义 但是记住尽量功能模块化 就是表中字段不易太多,一个表表示一小部分就可以 这样你维护方便 以后拓展也方便

SELECT * FROM ((SELECT * FROM user as is_m WHERE is_m.isMember = '1') UNION ALL (SELECT * FROM user as not_is WHERE not_is.isMember = '0' ORDER BY RAND() LIMIT 10 )) as t ORDER BY t.id DESC LIMIT 10, 20"

这是雏形,你可以进行优化。

拆分详解:

(SELECT * FROM user as is_m WHERE is_m.isMember = '1') 这个括号中,是查询会员,这个不用多说,你应该明白,至于为什么要加别名,同表多次查询自然要加别名以区分;

(SELECT * FROM user as not_is WHERE not_is.isMember = '0' ORDER BY RAND() LIMIT 10 )这个括号中,是查询非会员,其中ORDER BY RAND() LIMIT 10是关键,它的意思就是从中随机取十个结果;

SELECT * FROM (会员 UNION ALL非会员) as t ORDER BY t.id DESC LIMIT 10,20。这里即用到了联合查询UNION ALL,也用到了子查询,把联合查询的结果作一个结果集,然后从中进行查询,查询这个结果集的时候,使用ORDER BY和LIMIT进行分页处理。

以上,就是该语句的详解了,当然,其中也需要你做一些处理。

比如要先进行判断会员数满没满三十个,满了则无需如此,直接使用会员,没满则计算出还差多少个,在查询非会员那里LIMIT 数字才好使用;

至于分页,这个又是另一个问题了,你应该知道怎么分页的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9966209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存