问题

如何使用python程序连接到MySQL数据库?



解决方法

Connecting to MYSQL with Python in 3 steps

1 - 设置

您必须在执行任何操作之前安装MySQL驱动程序.与PHP不同,默认情况下仅使用Python安装SQLite驱动程序.最常用的包是 MySQLdb ,但很难使用easy_install安装.

对于Windows用户,您可以获取 MySQLdb 的exe.

对于Linux,这是一个临时包(python-mysqldb). (你可以使用 sudo apt-get install python-mysqldb (用于基于debian的发行版), yum install MySQL-python 请在命令行中安装python-mysql (用于现代fedora发行版).

对于Mac,您可以使用Macport安装MySQLdb .

2 - 使用

安装后,重新启动.这不是强制性的,但会阻止我在这篇文章中回答3或4个其他问题,如果出了问题.所以请重新启动.

然后就像使用另一个包:

#!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="john",         # your username
                     passwd="megajonhy",  # your password
                     db="jonhydb")        # name of the data base

# you must create a Cursor object. It will let
#  you execute all the queries you need
cur = db.cursor()

# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")

# print all the first cell of all the rows
for row in cur.fetchall():
    print row[0]

db.close()

当然,有数千种可能性和选择;这是一个非常基本的例子.你必须看看文档. 一个良好的起点.

3 - 更高级的使用

一旦知道其工作原理,您就可以使用 ORM 避免手动编写SQL并操作表作为Python对象. Python社区中最着名的ORM是 SQLAlchemy .

我强烈建议你使用它:你的生活会更容易.

我最近在Python世界中发现了另一个宝石: peewee .这是一个非常轻松的ORM,真的很容易,快速设置然后使用.它使我的小的项目或独立的应用程序,在那里使用像SQLAlchemy或Django的大工具是overkill:

import peewee
from peewee import *

db = MySQLDatabase('jonhydb', user='john',passwd='megajonhy')

class Book(peewee.Model):
    author = peewee.CharField()
    title = peewee.TextField()

    class Meta:
        database = db

Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
    print book.title

Peewee is cool

此示例开箱即用.除了有peewee( pip install peewee :-))是必需的.没有复杂的设置.真的很酷.




相关问题推荐