写在前面
最近抽时间学习一下数据库的查询语句, 首当其冲的当然就是开源的MySQL了, 不过这个软件命令行界面不太好用, 就算是使用了命令行增强工具mycli效果也不明显, 插入数据时候好几个回车就比较麻烦.
这时候我想着能不能用Sexy Editor Sublime Text 3来编写.sql脚本操作数据库, 会方便很多, 网上搜到的大多是直接自定义一个编译系统, 但是这样对于有密码的数据库来说不方便. 之后又看到有人推荐SQLTools
这款插件的, 于是就在这里尝试一下, 记录一下操作的方法(结果还不错, 比命令行方便了不少).
环境:
MacOS 11.3 Apple Silicon
MySQL 8.0 from homebrew
Sublime Text 3 v.3.2.2 build3211
下载安装
直接command+shift+p
即可调出命令面板, 输入install package
等几秒之后搜SQLTools
, 点击即可.
安装好后会弹出一个快捷键界面, 记住几个常用的即可.
配置连接本地MySQL server
这里需要修改下面几个文件:
- 位置如下:
- 点击之后会出现一个文件, 将以下内容输入并保存:
// List all your connections to DBs here
{
"connections": {
"Connection MySQL": {
"type" : "mysql",
"host" : "127.0.0.1",
"port" : 3306,
"database": "你的数据库名",
"username": "root",
// use of password for MySQL is not recommended (use "defaults-extra-file" or "login-path")
"password": "登录密码", // you will get a security warning in the output
// "defaults-extra-file": "/Users/hep/.my.cnf", // use [client] or [mysql] section
// "login-path": "your_login_path", // login path in your ".mylogin.cnf"
"default-character-set": "utf8",
"encoding": "utf-8"
},
},
"default": null
}
- 接下来是另一个文件
// Settings in here override those in "SQLTools/SQLTools.sublime-settings"
{
"cli": {
"mysql" : "/opt/homebrew/bin/mysql",
},
}
- 这里需要填写一下MySQL的路径, 我这里因为使用的本地遍历brew, 就安装在了
/opt/homebrew/bin/
目录, 大家自行选择.
测试
这里新建一个.sql
文件, 然后使用快捷键control+command+e
选择要连接的数据库, 使用control+e control+e
来执行SQL文件即可(更多快捷键可以参考图片中显示的key bindings
).
编写SQL文件
SHOW databases;
create table tb1 (
id int not null auto_increment,
name char(50) not null,
address char(50) null,
city char(50) null,
state char(50) null,
zip char(10) null,
country char(50) null,
contact char(50) null,
email char(255) null,
primary key (id)
) engine InnoDB,
charset=utf8;
INSERT INTO tb1(
name,
address,
city,
state,
zip,
country,
email)
VALUES('小明',
'199 main street',
'海淀',
'北京',
'100083',
'PRC',
'112233445@gmail.com');
-- SHOW databases;
-- desc tb1;
select * from tb1;
使用快捷键执行, 结果如下:
执行结果
+--------------------+
| Database |
+--------------------+
| db1 |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
+----+--------+-----------------+--------+--------+--------+---------+---------+---------------------+
| id | name | address | city | state | zip | country | contact | email |
+----+--------+-----------------+--------+--------+--------+---------+---------+---------------------+
| 1 | 小明 | 199 main street | 海淀 | 北京 | 100083 | PRC | NULL | 112233445@gmail.com |
+----+--------+-----------------+--------+--------+--------+---------+---------+---------------------+
参考
- 使用sqltools让sublime text成为数据库的客户端;
- 命令参考自《MySQL必知必会》.