将ipython控制台转换为跨数据库sql客户端

ipydb的Python项目详细描述


https://travis-ci.org/jaysw/ipydb.svg?branch=masterhttps://coveralls.io/repos/jaysw/ipydb/badge.png?branch=master

ipydb是一个IPython插件,用于运行sql查询和查看查询结果。

用法

有些演示视频可以在documentation

$ ipython
In [1] : %load_ext ipydb
In [2] : %automagic on
Automagic is ON, % prefix IS NOT needed for line magics.

In [3] : connecturl mysql://user:pass@localhost/employees
In [4] localhost/employees: tables
departments
dept_emp
dept_manager
employees
salaries
titles

In [5] localhost/employees: fields departments
departments
-----------
    dept_name                          VARCHAR(40)
    dept_no                            CHAR(4)

In [6] localhost/employees: select * from departments order by dept_name
+---------+--------------------+
| dept_no | dept_name          |
+---------+--------------------+
| d009    | Customer Service   |
| d005    | Development        |
| d002    | Finance            |
| d003    | Human Resources    |
| d001    | Marketing          |
| d004    | Production         |
| d006    | Quality Management |
| d008    | Research           |
| d007    | Sales              |

功能

  • Tab-completion of table names, fields and joins
  • View query results in ascii-table format piped through less
  • Single-line or multi-line query editing
  • Tab-completion metadata is read in the background and persisted across sessions
  • Cross-database support, thanks to SqlAlchemy: supported databases

安装

安装IPYDB:

$ pip install ipydb

您将需要一个python驱动程序作为您选择的数据库。例如:

$ pip install mysql-python

ipydb使用SqlAlchemy与数据库交互。 请参阅Supported Databases页 对于a(大!)支持的DB-API 2.0驱动程序列表以及如何 为特定数据库编写连接url。

启动ipython并加载ipydb插件:

$ ipython
In [1]: load_ext ipydb

文档

文档可在以下位置获得:http://ipydb.readthedocs.org

连接到数据库

有两种方法可以使用ipydb连接到数据库。直接通过连接url,使用 connecturlmagic函数,或者使用与connectmagic函数的连接“昵称”。

一。使用connecturl

您可以使用sqlalchemy样式的url连接到数据库,如下所示:

%connecturl drivername://username:password@host/database

一些示例:

In [3] : connecturl mysql://myuser:mypass@localhost/mydatabase
In [4] : connecturl sqlite:///path/to/mydb.sqlite
In [5] : connecturl sqlite:///:memory:

有关详细信息,请参见SqlAlchemy Documentation

2.使用connect.db-connections配置文件

为此,需要创建一个名为 .db-connections位于主目录中。 .db-connections是一个“ini”格式的文件, 可由python的configparser模块解析。

下面是~/.db-connections可能是什么样子的示例:

[mydb]type=mysqlusername=rootpassword=xxxxhost=localhostdatabase=employees[myotherdb]type=sqlitedatabase=/path/to/file.sqlite

~/.db-connections中定义的每个数据库连接都是 然后可通过其[节标题]引用。所以有了 在.db-connections文件上方,以下示例将起作用:

In [6] : connect mydb
In [7] mydb : connect myotherdb

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
c#Java Tcp服务器和。Net Tcp客户端的发送和接收问题   安卓应用程序上的java标记地理位置,其位置位于我周围5Km半径范围内。   向java添加对话框并检索html文件   当eclipse甚至无法打开时,java会在eclipse中更改不兼容的JVM   java中同一jframe中的jlabel和paintComponent   基于另一数组排序的java排序   java AADSTS7000012:该补助金是为另一个租户获得的   java在JSF中使用foreach循环   java如何通过maven为运行junit测试创建运行配置?   java Selenium webDriver不稳定错误堆栈跟踪   java有没有办法创建以键为大写的JSON对象?