数据之美-MySQL我爱编程

MySQL 5.7以及MySQL Workbench使用

2018-04-04  本文已影响40人  神木惊蛰

<article style="box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 4px 0px; background-color: rgb(255, 255, 255); padding: 20px 0px; color: rgb(0, 0, 0); font-family: "PingFang SC", "Microsoft YaHei", SimHei, Arial, SimSun; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">

摘要:使用MySQL时,一般会使用可视化工具管理数据库,方便开发提升效率。身边使用Navicat的人居多,Navicat有人家收费的理由,用着确实顺手,界面简单不复杂,上手容易,破解版不知道哪些个公司的安装包,用着着实不放心,遂下载了MySQL官方的Workbench,本文会持续更新一些Workbench的用法,也会穿插一些MySQL5.7的新特性。

MySQL Workbench

安装使用

MySQL Workbench为数据库架构师,开发人员和DBA提供统一的可视化工具。MySQL Workbench为服务器配置,用户管理,备份等提供了数据建模,SQL开发以及全面的管理工具。
  官方下载地址 64位 32位
  安装完成后launch it,进入首页面。

这里写图片描述

选择数据库实例(Local instance MySQL),双击进行登录,需要输入密码。

这里写图片描述

新建一个数据库test。

这里写图片描述

Create 数据库表,填写Table Name,Comments之后点击向上的箭头,填写Column信息。

这里写图片描述 这里写图片描述 这里写图片描述

添加列信息的过程中,发现一个没使用过的字段选项 Generated Column。表建好之后,鼠标轻放在table上,会出现三个icon,我们能够去查看表的相关信息,分析表和创建表的索引,以及去编辑表,修改表结构。

这里写图片描述

接下来给user表中添加数据,MySQL基础语法不再赘述。

这里写图片描述

闪电icon执行SQL语句,1处,执行SQL脚本的选定部分,如果没有选定,则执行窗口的所有SQL语句;2处,执行光标所在的SQL语句;3处,SQL语句性能分析时使用,EXPLAIN执行计划使用执行查询;4处,是否在执行失败的语句后继续执行SQL脚本;5处,是否开启事务自动提交模式;6处,格式化SQL。执行SQL也可以点击最上菜单栏的Query菜单项。

消除MySQL Workbench SQL编辑窗口的小红叉

明明没有语法错误,SQL编辑器却出现小红叉,强迫症的同学肯定受不了。(问题发现还没彻底解决,Beautify/reformat the SQL script用起来时好时坏,重启倒是挺好用,太low)

设置显示mysql和information_schema数据库

我们平时在开发中会用到information_schema数据库和mysql数据库,默认SCHEMAS栏是没有显示的,需要设置让其显示。Edit->Preferences->SQL Editor,Sidebar中勾选Show Metadata and Internal Schemas。

这里写图片描述

数据导入导出

Export

这里写图片描述

Import

这里写图片描述

Reverse Engineer逆向工程

数据库逆向工程说白了就是根据现有数据库结构建立数学模型,菜单栏Database->Reverse Engineer…

这里写图片描述

设置DBMS Connect参数。

这里写图片描述

Connect信息,Show Logs按钮可查看日志。

这里写图片描述

选择需要执行反向工程的数据库,这里选择测试数据库student。

这里写图片描述

检索相关信息,Show Logs按钮查看详情。

这里写图片描述

选择数据库中参与建模的表,之后一路Execute->Next->Finish,建模完成。

这里写图片描述 这里写图片描述 这里写图片描述

双击E-R图中实体,在弹出的对话框能够对表进行编辑。

这里写图片描述

将E-R图保存为PNG、SVG、PDF、SQL文件等,很方便,菜单栏File->Export->…

这里写图片描述

MySQL 5.7

Generated Column

MySQL5.7引入了Generated Column,顾名思义,就是引用其他列值生成的列。
  语法:<type> [ GENERATED ALWAYS ] AS ( <expression> ) [ VIRTUAL|STORED ]
[ UNIQUE [KEY] ] [ [PRIMARY] KEY ] [ NOT NULL ] [ COMMENT <text> ],MySQL5.7支持两种Generated Columns,Virtual Generated Column(默认) 和Stored Generated Column。前者的列值是在每次从表中读取记录时计算所得,不持久化在数据库中,Stored Generated Column则在表中写入新记录时计算列,之后将作为常规字段处理。这两种类型都可以有NOT NULL限制,但只有Stored Generated Column生成列可以作为索引的一部分。
  Generated Column使用时的一些限制:

total_eur(Virtual Generated Column)列值由price_eur(常规列)*amount(常规列)表达式计算所得。

mysql_install_db

mysql_install_db,MySQL 5.7.6之后开始已弃用,功能已经集成到mysqld。mysql_install_db初始化MySQL数据目录并创建system tables(如果不存在),以及初始化管理InnoDB表的系统表空间和相关数据结构。 语法:mysql_install_db [options]
  从MySQL 5.6.8开始,mysql_install_db是Perl脚本,可以在任何安装了Perl的系统上使用,之前是shell脚本,仅在Unix平台上可用。MySQL 5.7.5之后,mysql_install_db使用C ++编写,并在binary distributions中应用。 此外,又添加了多个新选项,删除了部分旧选项,如果发现某个选项不能正常工作,检查哪些选项适用于你的当前mysql_install_db版本。
  默认情况下,MySQL 5.7.5及更高版本是安全的,具有以下特性:

mysqld_safe

./mysqld_safe是在Unix上启动mysqld服务器的推荐方法。 mysqld_safe添加了一些安全功能,如在发生错误时重新启动服务器,并将运行时信息记录到错误日志文件。从MySQL 5.7.6开始,对于使用RPM分布式安装的MySQL,服务器startup、shutdown由Linux平台上的systemd工具管理,因此在这些平台上,不再安装mysqld_safe。

mysql_upgrade

检查所有数据库中所有表与当前MySQL版本的兼容性。 mysql_upgrade还会升级系统表,以利用可能添加的新特权或功能。语法: mysql_upgrade [options]

innodb_force_recovery

强制启动InnoDB存储引擎,同时防止后台操作运行,以便转储tables。紧急状况下,将innodb_force_recovery设置为大于0的值,便可以启动InnoDB并转储表, 在执行此操作之前,请确已进行了数据库备份,以便在需要重新创建数据库时使用。
  innodb_force_recovery默认为0(正常启动),所允许的非零值为1到6,较大的值包括较小值的functionality。 例如,值3包括值1和2的所有functionality。


参考:
Generated Columns in MySQL 5.7.5
MySQL Workbench使用手册
MySQL 5.7 Reference Manual

</article>

版权声明:本文为博主原创文章,转载请标明原文链接。 https://blog.csdn.net/z45689/article/details/54139396

上一篇下一篇

猜你喜欢

热点阅读