PyCharm 的数据库工具

在软件开发过程中,是离不开数据库的,PyCharm 为操作数据库提供了丰富的功能,可以在不离开PyCharm IDE 的环境下连接不同类型的数据库,可执行 SQL 脚本、查看结果以及导出导入数据等功能,本节课程将介绍这些常用功能在 PyCharm 中 如何使用。学习本章应该具备数据库的基础知识。

1. Database Tools and SQL

PyCharm 中的数据库管理功能由 Database Toools and SQL 插件支持。该插件支持 DataGrip 中提供的所有功能(DataGrip 是开发人员的独立数据库管理环境,也是JetBrains公司旗下的产品):支持查询、创建和管理各种类型数据库, 包括 MySQL、PostgreSQL、SQL Server、SQLite、MariaDB、Oracle、Apache Cassandra 等等,其中数据库可以在本地、在服务器上或云中工作。

为了使用PyCharm 数据库管理功能,请确保 Databse Tools and SQL 插件是启用的。
主菜单: PyCharm/Files -> Preference/Settings -> Plugins -> Data

图片描述
PyCharm 提供 了打开数据库工具窗口: 主菜单 View -> Tool Windows -> Database,可以进行一系列的数据库操作。
图片描述

2. 连接数据库

若想进行数据库操作,必须创建 数据源 连接。以下以连接MySQL为例介绍如何连接数据库。其它类型数据库连接基本是类似的,更多细节请参考

step1: 在数据库工具窗口中 View -> Tool Windows -> Database,单击"Data Source Properties"图标。图片描述
step2: 在"Data Sources and Drivers “对话框中,单击”+"图标并选择 MySQL。然后根据下图的提示输入相应的信息。如果没有事先下载 所选数据库 JDBC Driver, 点击窗口底部 Download missing driver files 链接直接下载即可。
图片描述

Tips:每种类型的数据库的 JDBC Driver 是可以安装多个不同版本的,除此以外,如上图显示:系统也会自动提示更新。如想更改使用版本,在当前窗口 Drivers 下选择要更改的数据库类型。

图片描述
step3: 测试成功后,点击ok, 新的数据源 MySql 创建成功。查看 Database 与 Service 工具窗口。
图片描述

3. 执行 SQL 语句

数据库连接成功后,就可以查询数据库的数据了,PyCharm 提供了多种查询方式。

3.1 Query Console

创建数据源时,将自动创建查询控制台, 可以在 Services 工具栏直接点击 Console 打开。也可以在 Database 工具窗口, 右键点击数据源,选择 open a query console, 或者按 F4。
图片描述
键入或粘贴要执行的语句在 console,然后执行:

图片描述
分别执行上面的语句,显示结果如下:

图片描述

3.2 从打开文件中执行 SQL 语句

step1: 首先要确保为项目设置了 SQL Dialects, 就是告诉系统以哪种类型的数据库规则读取语句与执行语句。因为我们连接的是 MySQL 数据源, 所以选择MySQL。

主菜单: PyCharm/File -> Preferences/Settings -> Languages & Frameworks -> SQL Dialect

图片描述
step2: 事先准备一个 “.sql” 文件, 或者新建一个".sql" 文件, 文件中包含多条语句。然后运行这个文件。
图片描述
step3: 会弹出下面的窗口,添加目标数据源:

图片描述
step4:点击上图按钮 Run, 工具栏 Run 将显示:
图片描述
step5: 如果要查看每条语句的结果,在编辑区输入⌘↩( Ctrl + Enter) 执行, 需要先选择执行语句的Session。可以用已经存在的,也可以新创建。

图片描述

Tips: 数据源连接是物理通信通道。Session 是一种信息交换状态。单个连接可以有多个 Sessions。当使用客户端连接到数据库服务器时,双方将建立一个 Session 来交换信息。

Step6: 选择创建一个新 Session后,执行语句工具栏出现。后面与在Query Console 执行语句是一致的。
图片描述

3.3 从硬盘直接运行文件

在 Database 工具栏中点击数据源, 然后在上下文菜单中选择 Run SQL Scripts....

图片描述
在"选择路径"窗口中,导航到要应用的 SQL 文件。后面与执行项目中的 .sql 文件是一样的。
图片描述

4. 查看结果与编辑数据

执行了 SQL 语句,相应的显示结果就会显示在 Services 工具栏,通过工具栏上按钮可以限制显示的条数,查看表的定义等等。
图片描述
可以直接编辑数据在查询结果中,也可以增删记录,并且直接提交到数据库。
图片描述

当更新记录时,选择 Auto 模式,点击 Submit, 更新就直接生效了,Commit 与 Rollback 按钮一直都是不可用状态。如果选择 Manual 方式提交, 当有更新时,Submit 与 Commit 都会由灰色不可用变成可用状态,如果直接点击 Commit, 更新直接生效;此时如果选择 Submit, Rollback 按钮由灰色变成可用状态,可以点击它放弃更新,当然也可以继续选择Commit, 使更新生效。

5. 导入与导出数据

5.1 导出数据

1. 可以在 Database 工具栏选择表、视图直接导出到文件。下图选择 tables, 上下文菜单选择 Dump Data to Files , 当然也可选择单个某个表去导出。
图片描述
在 Dump Data 窗口中选择保存数据的格式,以及保存路径。
图片描述
2. 从结果集选择导出数据到文件或者剪粘板。前面结果集的显示都以Table格式显示, 通过数据提取器的设定能以不同的格式显示,同样的格式也可应用于导出。通过点击导出数据 dump data 按钮,可以把选中的数据导出。
图片描述
在打开 Dump Data 窗口, 设定保存格式及路径等,然后选择是保存到文件还是剪粘板。
图片描述

5.2 导入数据

可以在 Database 工具栏选择数据源, 上下文菜单选择 Run SQL Scripts...
图片描述
在"选择路径"窗口中,导航到要应用的 SQL 文件。然后 Open。
图片描述
3. 也可以在 Database 工具栏选择某个表,然后在上下文菜单选择 Import Data from File
图片描述
在选择导航到要应用的 SQL 文件,然后打开,显示下面导入文件窗口,指定数据各项设置,点击 OK。
图片描述

6. 小结

本节主要讲了 Database Tools and SQL,其功能是非常强大的,而我们只涉及到一些最常用的功能,这只是其中很小的一部分功能,感兴趣同学可查看相关文档继续学习。

如果对于数据库有大量与复杂的操作,笔者建议还是用 DataGrid 或者 Navicat 这些专门的数据库工具, 在PyCharm 里,我们可以只把Database Tools 作为快速调试数据库相关代码,实时查看运行结果的辅助工具。
图片描述