- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如何使用 python 程序连接到 MySQL 数据库?
最佳答案
1 - 设置
您必须在执行任何操作之前安装 MySQL 驱动程序。与 PHP 不同,Python 默认只安装 SQLite 驱动程序。最常用的包是MySQLdb但是使用easy_install很难安装它。请注意 MySQLdb 仅支持 Python 2。
对于 Windows 用户,您可以获得 exe of MySQLdb .
对于 Linux,这是一个临时包(python-mysqldb)。 (您可以使用 sudo apt-get install python-mysqldb
(用于基于 debian 的发行版)、yum install MySQL-python
(用于基于 rpm)或 dnf在命令行中安装python-mysql
(用于现代fedora发行版)以下载。)
对于 Mac,您可以 install MySQLdb using Macport .
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()
当然,有成千上万种可能性和选择;这是一个非常基本的例子。您将不得不查看文档。 A good starting point .
3 - 更高级的用法
一旦你知道它是如何工作的,你可能想要使用 ORM避免手动编写 SQL 并像操作 Python 对象一样操作您的表。 Python 社区最著名的 ORM 是 SQLAlchemy .
我强烈建议您使用它:您的生活会轻松很多。
我最近发现了 Python 世界中的另一颗 gem :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
) 之外没有其他要求。
关于python - 如何在 Python 中连接到 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372885/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!