如何使用python程序连接MySQL数据库?
当前回答
首先,从https://dev.mysql.com/downloads/connector/python/安装python-mysql连接器
在Python控制台输入:
pip install mysql-connector-python-rf
import mysql.connector
其他回答
这里有一种方法,使用MySQLdb,它只支持Python 2:
#!/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/
安装完成后,您可以在这里看到一些使用示例
尝试使用MySQLdb。MySQLdb只支持Python 2。
有一个如何页面在这里:http://www.kitebird.com/articles/pydbapi.html
原文如下:
# server_version.py - retrieve and display database server version
import MySQLdb
conn = MySQLdb.connect (host = "localhost",
user = "testuser",
passwd = "testpass",
db = "test")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()
首先安装驱动程序
pip install MySQL-python
然后一个基本代码是这样的:
#!/usr/bin/python
import MySQLdb
try:
db = MySQLdb.connect(host="localhost", # db server, can be a remote one
db="mydb" # database
user="mydb", # username
passwd="mydb123", # password for this username
)
# Create a Cursor object
cur = db.cursor()
# Create a query string. It can contain variables
query_string = "SELECT * FROM MY_TABLE"
# Execute the query
cur.execute(query_string)
# Get all the rows present the database
for each_row in cur.fetchall():
print each_row
# Close the connection
db.close()
except Exception, e:
print 'Error ', e
用Python 2分三步连接到MYSQL
1 -设置
在做任何事情之前,都必须安装MySQL驱动程序。与PHP不同,Python默认只安装SQLite驱动程序。最常用的包是MySQLdb,但是使用easy_install很难安装它。请注意MySQLdb只支持Python 2。
Windows用户可获取MySQLdb的exe文件。
对于Linux,这是一个临时包(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)即可。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 如何关闭mysql密码验证?
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- MySQL区分大小写查询
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- MySQL数据库表中的最大记录数