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 作为快速调试数据库相关代码,实时查看运行结果的辅助工具。