rank | vote | view | answer | url |
---|---|---|---|---|
96 | 987 | 1016356 | 21 | url |
在python程序里如何链接MySQL数据库?
你必须先安装MySQL驱动.和PHP不一样,Python只默认安装了SQLite的驱动.最常用的包是MySQLdb但是用easy_install
安装很困难.
对于Window用户,你可以获取MySQLdb的exe.
对于Linux,可以下载python-mysqldb
(可以用sudo apt-get install python-mysqldb
命令直接在命令行下载)
对于Mac用户,可以用Macport下载MySQLdb
装完之后重启.这不是强制的,但是这样做可以减少问题.所以请重启.
然后就像用其他包一样:
#!/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]
当然,还有许多用法和选项,我只是举了一个基本的例子.你可以看看文档.A good starting point.
一旦你知道它是如何工作的,你可能想用ORM来避免手动写入SQL,来把表变成Python对象.Python中最有名的ORM叫做SQLAlchemy
我强烈推荐:你的生活质量肯定能获得提高.
最近在Python里又发现了一个好东西:peewee.它是个非常轻巧的ORM,非常容易安装和使用.我的小项目和独立app都使用它,而那些工具像SQLLAlchemy或者Django用在这里有点小题大做了:
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
)不需要别的的依赖.安装不复杂.它非常cool!