navcat操作mysql的一些操作

外键的添加:

navcat操作mysql的一些操作

navcat操作mysql的一些操作

两张表格,其中表1的id对应的是表2的userid,两个是通过外键进行互相关联。操作步骤如下:

navcat操作mysql的一些操作

点击设计表

navcat操作mysql的一些操作

表2可以说是表1的字表,其中userid的被参考表就是表1中的id。此处说明下,后面的“删除时”和“更新时”的选项,如下:

. cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录 

   . set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null  

   . No action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作  

   . Restrict方式
同no action, 都是立即检查外键约束

   . Set default方式
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别

常见关键字:

PK:primary key 主键

NN:not null 非空

UQ:unique 唯一索引

BIN:binary 二进制数据(比text更大)

UN:unsigned 无符号(非负数)

ZF:zero fill 填充0 例如字段内容是1 int(4), 则内容显示为0001

AI:auto increment 自增

数据库中的多对多的关系:

当需要对某个用户的某个角色拥有什么物品时,需要使用多对多关系。一个用户往往拥有多个角色,任何一个角色往往拥有多个属性,这样存在一个多个数据对应多个数据的关系,为了扩展性,添加一个关系表格来管理。

navcat操作mysql的一些操作

表格3 道具表

navcat操作mysql的一些操作

表4 储存对应关系表格

其中 goodsid对应idgoods

roleid对应role表格的idrole,保证角色对应的唯一性

goodsid对应表格goods中的idgoods,保证物品数据的对应

navcat操作mysql的一些操作