对表做了修改之后,记得点击对应图标按钮重新执行一下。
1.创建角色表
数据库一开始就要设计好,轻易不要改动。一个账号下可能有多个角色,所以我们单独再创建另一个表role用来存储所有的角色信息。其中idrole表示角色id,name表示名字,level表示等级,roletype表示角色类型,如战士、法师等,字符串要用单引号''来表示,也可以用INT类型来表示,对应程序中的枚举。
2.设置角色表和账号表的外键关联
我们在角色表里需要添加一个userid表示角色属于哪个账号(看上图),同时要设置跟账号表的外键关联。点击下面的ForeignKeys来添加外部关联,ForeignKeyName随便取个名字就好,ReferencedTable表示跟哪个表关联,这里我们设置为数据库db1中的users表,然后右边的把角色表role中的userid设置为跟账号表users中的id关联。期间报了个错 Duplicate key name说秘钥重复了,网上也没一下子找到,我就关闭了role表重新关联然后就好了。外键就是这列数据引用了另一个表的主键。
3.数据库设计中的多对多关系
一个账号有多个角色,账号表跟角色表之间是一对多关系;每个角色都拥有物品,角色表跟物品表是多对多关系。
我们通过创建一个中间表inventory来存储角色跟物品之间的关系。roleid表示那个角色,goodsid表示哪个物品,count表示物品数量。
然后我们要设置roleid和goodsid的外键关联,然后点击"Apply"。
inventory表如下图:表示id为1名字叫草上飞1的玩家拥有小血瓶2个,铁剑一把。id为2名字叫草上飞2的玩家拥有小血瓶3个。
4.关于MySQL数据库中的数据类型和帮助文档
完整数据类型可以登录mysql官网文档中的dateType中进行查看。
主要数据类型:mysql中不区分大小写,只是软件中显示出来是大写的,括号里表示数据长度。左边表示在mysql中的类型,右边表示在编程语言中对应的数据类型。
字符串 : char varchar(length) --- string
整数 :int --- int
小数 :float --- float
日期时间 date --- DateTime
5.如何在MySQL控制台对数据库进行创建和删除操作
打开windows界面,找到mysql下的Commond Line Client。