一、官方
官方提供的工具必然有其優勢。
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、修改數據比較安全