Mysql Workbench使用教程

Peter20
• 阅读 3429

<1> MySQL Workbench

MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。

<2>.MySQL Workbench 的下载和安装

(1)安装最新MySql时,有是否安装MySql Workbench的选项,可选择安装。

(2)可以独立安装MySql Workbench。

        官方下载地址:[http://dev.mysql.com/downloads/workbench/](http://dev.mysql.com/downloads/workbench/)  ,安装很简单,基本就是一路Next。

注意:一定要安装和MySql对应的版本,要不然安装后连接不上服务器,提示外部组件异常;

<3>打开Workbench,主页面上点击要connect的连接。

  注意系统偏好设置里,MySQL是running的状态,否则无法执行。  

Mysql Workbench使用教程

<4> 创建数据库:

点击创建数据库按钮,输入数据库名称,选择编码方式,点击Apply

Mysql Workbench使用教程

Workbench会自动生成SQL语句,再次点击Apply就可以成功创建数据库

Mysql Workbench使用教程

成功后,在数据库列表中可以看到新建的数据库

Mysql Workbench使用教程

<5>创建数据表:

右键新建的数据库BMI,设置为此次连接的默认数据库,接下来的所有操作都将在这个数据库下进行

Mysql Workbench使用教程

将bmi下拉单展开,点击Table,右键创建Table:

Mysql Workbench使用教程

给Table命名,添加Column,设置Column的Datatype,PrimaryKey等属性。点击Apply后,

Workbench仍会自动生成SQL语句,再次点击Apply,成功创建新表,在左下角可以看到:
Mysql Workbench使用教程

Mysql Workbench使用教程

右键想要查看的Table,选择Select Rows,即可查看表中数据:

Mysql Workbench使用教程

在弹出的对话框中,Edit 菜单栏中包含三个按钮,分别为“修改”“插入”和“删除”。

Mysql Workbench使用教程

<6>查看数据表:

   成功创建数据表后,可以查看数据表的结构信息,在需要查看表结构的数据表上右击,选择 Table Inspector 选项,即可查看数据表的结构,如下图所示。

Mysql Workbench使用教程

   在查看数据表的对话框中,Info 标签显示了该数据表的表名、存储引擎、列数、表空间大小、创建时间、更新时间、字符集校对规则等信息,如下图所示。

Mysql Workbench使用教程

   在 Columns 标签显示了该表数据列的信息,包括列名、数据类型、默认值、非空标识、字符集、校对规则和使用权限等信息,如下图所示。

Mysql Workbench使用教程

<7>修改数据表

在需要修改表结构的数据表上右击,选择“Alter Table…”选项,即可修改数据表的基本信息和数据表结构,如下图所示。

Mysql Workbench使用教程

<8>删除数据表

在需要删除的数据表上右击,选择“Drop Table…”,如下图所示。

Mysql Workbench使用教程

在弹出的对话框中单击 Drop Now 按钮,可以直接删除数据表,如下图所示。

Mysql Workbench使用教程

<9>主键约束

当勾选PK复选框时,该列就是数据表的主键;当取消勾选 PK 复选框时,则取消该列的主键约束。

Mysql Workbench使用教程

<10>外键约束

 在 MySQL Workbench 中,打开修改数据表的对话框,进入 Foreign Keys 标签。

Foreign Key Name:外键名称; Referenced Table:关联的主表

         Column: 选择外键字段;        Referenced Column: 选择主表的关联字段

外键的约束模式:

           1.set null: 闲置模式

                     主表记录被删除或者更改,从表相关记录的外键置为null;

            2.cascade: 级联操作

                    主表中删除或者更新了某条信息,从表中与该表记录有关的记录也发生改变

            3.district: 严格模式    no action: 和district一样

                    当从表中有外键数据和主表关联,主表中该条记录就不能删除或者更新

                    (父表不能删除或者更新一个被子表引用的记录)

Mysql Workbench使用教程

   设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 "st" 中外键的创建,如下图所示。

Mysql Workbench使用教程

   在外键约束的列表中,在需要删除的外键上右击,选择 Delete selected 选项,删除对应的外键,单击 Apply 按钮,即可完成删除,如下图所示。

Mysql Workbench使用教程

   设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表  "st" 中外键的删除,如下图所示。

Mysql Workbench使用教程

<11>唯一约束:UQ 索引

勾选 UQ 复选框时,该列就是数据表的唯一约束索引;

取消勾选 UQ 复选框时,则取消该列的唯一约束索引。

Mysql Workbench使用教程

Mysql Workbench使用教程

Mysql Workbench使用教程

<12>非空约束

 勾选 NN 复选框时,该列为数据表的非空约束;

 取消勾选 NN 复选框时,则取消该列的非空约束。

Mysql Workbench使用教程

<13>默认值约束

        在 Default/Expression 列中编辑字段的默认值。

Mysql Workbench使用教程

<14>写入数据

双击NULL处,即可写入数据,点击Apply,Workbench再次自动生成SQL语句,点击Apply,即可将数据写入表中:

Mysql Workbench使用教程

Mysql Workbench使用教程

<15>在Workbench里面执行一个简单的sql语句

修改“my_table”表,给它加一个age字段。这里在“query”里面编写我们的sql语句,如下图所示。

Mysql Workbench使用教程

按“ctrl+enter”执行这个语句之后,我们就会看到下方的输出部分,会显示我们这个查询执行的具体情况。

Mysql Workbench使用教程

最后,找到“bmi”数据库,然后左键选择“refresh all”,刷新之后,我们就可以在my_table表中看到我们新增加的字段“age”

<16> Model

<16.1>创建Model(设计ER图)

使用workbench设计ER图也很简单。选择File -> New Model:

Mysql Workbench使用教程

在新展开的页面中“Model Overview”界面双击“Add Diagram”图标:

Mysql Workbench使用教程

双击后即可看到设计界面,workbench中叫EER图,其实就是增强的(enhanced)ER图。

在这个界面中即可进行ER图的设计,例如添加一个table等:

Mysql Workbench使用教程

注意有些信息可以进行详细设置:

Mysql Workbench使用教程

<16.2>使用Model生成SQL语句

如果你需要sql语句,那么需要利用Model来生成。

首先打开一个Model,点击File -> Open Model,如图:

Mysql Workbench使用教程

选择一个mvb类型文件,就是Model。

打开这个Model后,要生成它对应的sql语句,需要点击File -> Export -> Forward Engineer SQL CREATE SCRIPT,如图:

Mysql Workbench使用教程

打开“Forward Engineer SQL SCRIPT”,如图:

Mysql Workbench使用教程

第一部中:

首先给将生成的sql语句文件设定位置和名称;

其次选中
“Generate DROP Statements Before Each Create Statement”
和 “Generate DROP SCHEMA”

第一个用来生成Drop Table语句,第二个用来生产Drop Schema语句,就是说在创建之前先删除原来的;

再次,点击Next。

第二部中:

选中“Export MySQL Table Objects”,然后点击下一步,如图:

Mysql Workbench使用教程

第三部中:

看看生成的sql语句如果没有什么问题就点击Finish吧,如图:

Mysql Workbench使用教程

根据Model生成的SQL语句就成功生成了!

注意:

   当然,你也可以点击Database -> Forward Engineer来生成,步骤差不多,但要注意,这么做在生成sql语句文件的同时,数据库中的语句也被清空了,并换成了新生成的sql。换句话说,这个方法是用来生成sql语句文件同时更改原数据库中的sql的,原有文件全被清空!如果你暂时还没想清空数据库则不要用这个方式,切记!

<16.3> 反向工程(从库导出ER图)

   使用workbench从库中导出ER图也很简单,在连接界面点击上方导航的Database -> Reverse Engineer,然后一路Next,这期间会让你选择要导出ER图对应的库,最后Finish,反向ER图就出来了。

<17> 视图

<17.1>创建视图

   在 SCHEMAS 列表中展开当前默认的 test\_db 数据库,

在 Views 菜单上右击,选择“Create View…”,即可创建一个视图,如下图所示。

Mysql Workbench使用教程

设置视图名称和视图的定义

Mysql Workbench使用教程

设置完成之后,可以预览当前操作的 SQL 脚本

Mysql Workbench使用教程

<17.2>查看视图信息

 选择 Select Rows–Limit 1000 选项,即可查看视图内容

在查看视图内容的对话框中,视图内容为只读,不可修改,如下图所示。

Mysql Workbench使用教程

<17.3> 删除视图

可以在 SCHEMAS 的 Views 列表中删除视图,在需要删除的视图上右击,选择“Drop View…”,如下图所示。

Mysql Workbench使用教程

在弹出的对话框中单击 Drop Now 按钮,即可直接删除视图,如下图所示。

Mysql Workbench使用教程

若单击 Review SQL,则可以显示删除操作对应的 SQL 语句,单击 Execute 按钮就可以执行删除操作,如下图所示。
Mysql Workbench使用教程

<18>存储过程

单击“新建存储函数”按钮,即可新建存储过程,如下图所示。

Mysql Workbench使用教程

在创建存储过程的对话框中,设置存储过程的名称和存储过程的定义

Mysql Workbench使用教程

设置完成之后,可以预览当前操作的 SQL 脚本

Mysql Workbench使用教程

在 SCHEMAS 界面中,展开 test_db 数据库中的 Stored Procedures 目录,在新创建的存储过程 new_procedure 上右击,可以实现创建存储过程、修改存储过程、删除存储过程等操作,如下图所示。

Mysql Workbench使用教程

<19>触发器

<19.1>创建触发器

表---> 右键Create table ---> Triggers ---> AFTER INSERT

Mysql Workbench使用教程

Mysql Workbench使用教程

<20> 用户和权限

1) 创建用户

   在菜单栏中选择 Server 菜单,在展开的列表中选择 Users and Privileges 选项。

Mysql Workbench使用教程

   左上角的方框中显示当前数据库中的用户列表,包括数据库系统默认的用户 mysql.session、mysql.sys、root 以及自定义的用户,同时列表中还显示用户的主机名称,如  localhost。在管理界面的左下角可以单击 Add Account 按钮,即可创建一个新用户,如下图所示。

Mysql Workbench使用教程

   在创建用户界面,可以设置用户名称、认证类型、主机名称、用户密码和确认密码,单击 Apply 按钮,即可完成用户的创建,如下图所示。

Mysql Workbench使用教程

   在左侧的用户列表中,选择某个用户,即可查看用户的用户名称、认证类型、主机名称、用户密码等信息。并且可以对用户信息进行修改,修改完成后单击 Apply 按钮,即可完成用户信息的修改,如下图所示。

Mysql Workbench使用教程

2) 删除用户

在用户列表的下方,可以单击 Delete 按钮删除用户,单击 Refresh 按钮刷新用户的列表,如下图所示。

Mysql Workbench使用教程

剩下的就是MySQL的语法啦,可以查看下面的网址,中英文都有,内容是一样的:

中文教程:
http://www.runoob.com/mysql/mysql-insert-query.html
英文教程:
http://www.tutorialspoint.com/mysql/mysql-null-values.htm

http://c.biancheng.net/view/2625.html

本文转自 https://blog.csdn.net/zs1342084776/article/details/88701261,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这