我如何连接到Python中的MySQL数据库?
如何使用python程序连接到MySQL数据库?
通过三步与Python连接MYSQL
1 - 设置
在做任何事之前,您必须安装MySQL驱动程序。 与PHP不同,Python中只有默认安装的SQLite驱动程序。 最常用的软件包是MySQLdb,但使用easy_install很难安装。
对于Windows用户,你可以得到一个MySQLdb的exe文件。
对于Linux,这是一个随便的软件包(python-mysqldb)。 (你可以在sudo apt-get install python-mysqldb
中使用sudo apt-get install python-mysqldb
(用于基于debian的发行版), yum install MySQL-python
(用于基于rpm的)或者dnf install 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这样的大型工具是过度的:
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( pip install peewee
)之外,没有其他需要的。
以下是一种方法:
#!/usr/bin/python
import MySQLdb
# Connect
db = MySQLdb.connect(host="localhost",
user="appuser",
passwd="",
db="onco")
cursor = db.cursor()
# Execute SQL select statement
cursor.execute("SELECT * FROM location")
# Commit your changes if writing
# In this case, we are only reading data
# db.commit()
# Get the number of rows in the resultset
numrows = cursor.rowcount
# Get and display one row at a time
for x in range(0, numrows):
row = cursor.fetchone()
print row[0], "-->", row[1]
# Close the connection
db.close()
在这里引用
Oracle(MySQL)现在支持纯Python连接器。 这意味着无需安装二进制文件:它只是一个Python库。 它被称为“连接器/ Python”。
http://dev.mysql.com/downloads/connector/python/
链接地址: http://www.djcxy.com/p/21863.html上一篇: How do I connect to a MySQL Database in Python?
下一篇: How do I quickly rename a MySQL database (change schema name)?