一、官方
官方提供的工具必然有其优势。
MySQL Workbench有两个版本,社区版和商业版。社区版是免费的。
二、第一个选择
使用MySQL之前用的是SQL Server而微软的东西一般都使用微软自己的工具,ssms真香。
换成MySQL后就考虑是否有官方的工具,所以第一个选择的就是MySQL Workbench
三、支持MySQL8
默认的随MySQL8一起发布的mysqlworkbench8可以直接连接mysql8,不需要修改加密方式
四、对已经存在的表提供生成SQL功能
按照下图操作方式,可以对已经存在的表生成表结构create statement及增删改查的范例SQL
创建表CREATE语句
CREATE TABLE `test` (
`id` int(11) NOT NULL,
`name` varchar(45) NOT NULL,
`text_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
增加数据INSERT语句
INSERT INTO `c2`.`test`
(`id`,
`name`,
`text_name`)
VALUES
(<{id: }>,
<{name: }>,
<{text_name: }>);
修改数据UPDATE语句
UPDATE `c2`.`test`
SET
`id` = <{id: }>,
`name` = <{name: }>,
`text_name` = <{text_name: }>
WHERE `id` = <{expr}>;
删除数据DELETE语句
DELETE FROM `c2`.`test`
WHERE <{where_expression}>;
五、对已经存在的函数提供生成SQL功能
同理对应的视图和存储过程也可以生成SQL,在这里就不意义列举,操作方式雷同
DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `new_function`(p_id int) RETURNS int(11)
BEGIN
RETURN 1;
END$$
DELIMITER ;
六、改数据明确操作并提供修改SQL
这个功能对于生产环境修改数据时,不需要手写SQL,安全性得到了保障,不会出现忘记写where的问题,并且mysql workbench默认不使用主键无法修改数据
已有空表
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
先查询数据
这里的limit300是行数设置,防止默认全显示,一般没有意义,还浪费服务器资源,
查询结果
在查询结果里null行添加数据【注意,表必须有主键,否则null行不会出现】
表无主键查询结果
可见没有null行
一、添加数据
添加数据后点击apply
点击apply后出现添加这些数据的SQL脚本
再点击右下角apply添加完成
可以见在添加完成后新出现3行数据,其中第四行还是null行,可以继续添加
二、修改数据
修改好数据后希望修改生效时点击apply,出现修改数据的SQL,再点击apply生效,和插入雷同
注意:在这个查询里可以修改sql,查询出具体你希望修改的行,这样就不用全部行都显示出来,
三、删除数据
希望删除某一行时,鼠标选定删除行,右键选择Delete Row(s),依旧是点击apply生效,和插入修改雷同
四、增删改数据
增删改数据操作可以在一个查询结果里操作,一起apply,一起生效
五、取消修改
在修改数据后不希望修改生效且希望显示原数据时点击revert按钮,在apply按钮右边。
七、表快捷按钮
一、第一个按钮是信息
图标是i
可能是information,如下图
点击后出现一个信息查看窗口,里面有info,columns,indexes,triggers,foreign keys,partitions,grants,ddl等信息
二、第二个按钮图标是工具
可以修改表的信息
三、第三个按钮是表格
可以增删改查数据的表格
总结:1、官方支持
2、生成SQL
3、修改数据比较安全