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


当前回答

如果你不需要MySQLdb,但愿意接受任何库,我非常非常推荐MySQL连接器/Python从MySQL: http://dev.mysql.com/downloads/connector/python/。

它是一个包(大约110k),纯Python,所以它与系统无关,安装非常简单。你只需要下载,双击,确认许可协议就可以了。不需要Xcode, MacPorts,编译,重新启动…

然后你可以这样联系:

import mysql.connector    
cnx = mysql.connector.connect(user='scott', password='tiger',
                              host='127.0.0.1',
                              database='employees')

try:
   cursor = cnx.cursor()
   cursor.execute("""
      select 3 from your_table
   """)
   result = cursor.fetchall()
   print result
finally:
    cnx.close()

其他回答

如果你不需要MySQLdb,但愿意接受任何库,我非常非常推荐MySQL连接器/Python从MySQL: http://dev.mysql.com/downloads/connector/python/。

它是一个包(大约110k),纯Python,所以它与系统无关,安装非常简单。你只需要下载,双击,确认许可协议就可以了。不需要Xcode, MacPorts,编译,重新启动…

然后你可以这样联系:

import mysql.connector    
cnx = mysql.connector.connect(user='scott', password='tiger',
                              host='127.0.0.1',
                              database='employees')

try:
   cursor = cnx.cursor()
   cursor.execute("""
      select 3 from your_table
   """)
   result = cursor.fetchall()
   print result
finally:
    cnx.close()

这里有一种方法,使用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()

参考这里

在终端上执行以下命令安装mysql connector:

pip install mysql-connector-python

在你的python编辑器中运行这个来连接MySQL:

import mysql.connector

mydb = mysql.connector.connect(
      host="localhost",
      user="username",
      passwd="password",
      database="database_name"
)

执行MySQL命令的示例(在python编辑器中):

mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")    
mycursor.execute("SHOW TABLES")

mycursor.execute("INSERT INTO customers (name, address) VALUES ('John', 'Highway 21')")    
mydb.commit() # Use this command after insert, update, delete commands

更多命令:https://www.w3schools.com/python/python_mysql_getstarted.asp

对于python 3.3

CyMySQL https://github.com/nakagami/CyMySQL

我在windows 7上安装了pip,只是 安装cymysql

(你不需要cython) 快速无痛

尝试使用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 ()