首页 > Photon > 基础系列 > MySQL之MySQL Workbench数据库的简单处理
2017
11-03

MySQL之MySQL Workbench数据库的简单处理

转载:http://www.jianshu.com/p/22311d047a0c

首先我们先下载安装MySQL数据库
下载地址: https://dev.mysql.com/downloads/installer/
MySQL Server官方文档:https://dev.mysql.com/doc/refman/5.7/en/

MySQL之MySQL Workbench数据库的简单处理 - 第1张  | u3d8技术分享

然后安装选择默认设置的安装就可以了,具体细节可自行百度。下面来说说MySql Workbench的使用。
MySQL是一个数据库,便于程序操作,便于存储百万以上级别的数据,它属于一种 关系数据库。关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。

那么我们如何去利用数据库存储我们的数据呢:
MySQL下可以创建多个库(数据库)database
每个库下可以创建多个表(表格)table
通过表格存储我们的数据
表有表头(表头表示这个表有哪些列)
表里面的每一行都是我们存储的数据

下面我们来看看怎么使用MySQL Workbench

MySQL之MySQL Workbench数据库的简单处理 - 第2张  | u3d8技术分享

进入后写上连接的名字其他的默认。
然后我们进入我们新创建的MySQL连接,开始创建我们的数据库

MySQL之MySQL Workbench数据库的简单处理 - 第3张  | u3d8技术分享

下面我们再来创建列表

MySQL之MySQL Workbench数据库的简单处理 - 第4张  | u3d8技术分享

MySQL之MySQL Workbench数据库的简单处理 - 第5张  | u3d8技术分享

1、Column Name表的名称
2、Datatype,数据类型,使用Varchar()类型的时候括号里面必须指定一个长度值
3、使用mysql workbench建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI几个基本字段类型标识。

数据类型
字符串 - char varchar(length) - string
整数 - int - int
小数 - float - float
日期时间 - date - DateTime
默认值
可以为NULL
自动增长

它们分别代表的意思是:
PK:primary key 主键
NN:not null 非空,表示不不允许为空
UQ:unique 唯一索引,比如在表格中用户名不允许存在相同的
BIN:binary 二进制数据(比text更大)
UN:unsigned 无符号(非负数)
ZF:zero fill 填充0 例如字段内容是1 int(4), 则内容显示为0001
AI:auto increment 自增,例如我们把ID设为了主建,然后设置AI那么我们不用其填写ID的值,会自动帮我们自增。

主键(Primary Key)
1,每行数据独一无二的标识
2,一个表必须有主键(只能有一个主键)
3,不能为NULL(空值)
4,由一列或者多列组成
Unique Key
1,表示该项数据不能重复
2,允许一条可以为NULL

表的关系
一对一 OneToOne
一对多 OneToMany
多对多 ManyToMany

创建英雄列表与用户列表关联

那这里我们创建出用户名和密码,那我们去保存用户信息里面的英雄等级和英雄类型这些信息呢,这就需要我们再创建一张表出来了。下面是我们新创建的role表格,这里保存我们的英雄信息

MySQL之MySQL Workbench数据库的简单处理 - 第6张  | u3d8技术分享

MySQL之MySQL Workbench数据库的简单处理 - 第7张  | u3d8技术分享

这里表格创建Ok后,那我们如何给他们关联起来呢,怎么知道那个用户下面有哪个英雄呢?这就需要创建外键了
外键(Foreign Key)
这列数据引用了另外一个表的主键 ,先理下思路,我们这里两个列表,一个user列表存储用户信息,一个role列表存储英雄信息,这里我们要将用户里面的英雄关联起来那么就还需要在role列表创建一列Int类型的userid代表属于哪个id用户的英雄。下面我们就再创建一列看看怎么将其与用户里面的id关联起来

MySQL之MySQL Workbench数据库的简单处理 - 第8张  | u3d8技术分享
MySQL之MySQL Workbench数据库的简单处理 - 第9张  | u3d8技术分享

最后我们给英雄的ueser设置值就OK了,表示这个英雄属于哪个用户下的英雄

MySQL之MySQL Workbench数据库的简单处理 - 第10张  | u3d8技术分享

创建物品列表

下面呢我们再创建一个列表item存储我们英雄里面每个物品的信息。

MySQL之MySQL Workbench数据库的简单处理 - 第11张  | u3d8技术分享

然后设置一些参数。

MySQL之MySQL Workbench数据库的简单处理 - 第12张  | u3d8技术分享

创建中间表,将英雄列表和物品列表关联起来

那这里我们又需要怎么将他与每个英雄关联起来呢。在这里用户与英雄是一对多的关系,就是说一个用户可以拥有多个英雄,我们每个英雄是有物品的,那么这里的英雄与物品的关系就是多对多的关系了,英雄可以拥有多个物品,物品又可以给多个英雄。这里我们怎么去关联物品的关系呢,首先我们需要通过一个中间表去解决。所以我们再创建一个表inventory。

MySQL之MySQL Workbench数据库的简单处理 - 第13张  | u3d8技术分享

那么我们再用外键给其关联上就OK了。

MySQL之MySQL Workbench数据库的简单处理 - 第14张  | u3d8技术分享

最后我们给Inventroy列表添加值就Ok了,简直完美。

MySQL之MySQL Workbench数据库的简单处理 - 第15张  | u3d8技术分享

最后我们来来看看怎么导出和导入数据库吧。

MySQL之MySQL Workbench数据库的简单处理 - 第16张  | u3d8技术分享

导出的时候选择要导出的数据库,然后下面选择第二个到处成一个文件。最后start export

MySQL之MySQL Workbench数据库的简单处理 - 第17张  | u3d8技术分享

导入的时候选择导入一个项目文件,然后选择要导入的文件。这里注意要New一个新的数据库,然后选择新的数据库。点击导入就OK了

MySQL之MySQL Workbench数据库的简单处理 - 第18张  | u3d8技术分享

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

留下一个回复

你的email不会被公开。