社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python如何链接MySQL

马哥Linux运维 • 3 年前 • 515 次点击  


在python程序里如何链接MySQL数据库?


连接MYSQL需要3步

1.安装

必须先安装MySQL驱动。和PHP不一样,Python只默认安装了SQLite的驱动。最常用的包是MySQLdb但是用easy_install安装很困难。

对于Window用户,你可以获取MySQLdb的exe。

对于Linux,可以下载python-mysqldb(可以用sudo apt-get install python-mysqldb命令直接在命令行下载)

对于Mac用户,可以用Macport下载MySQLdb

2. 使用

装完之后重启。这样做可以减少问题。

然后就像用其他包一样:

  1. #!/usr/bin/python

  2. importMySQLdb


  3. db =MySQLdb.connect(host="localhost",# your host, usually localhost

  4. user="john",# your username

  5. passwd="megajonhy",# your password

  6. db="jonhydb")# name of the data base


  7. # you must create a Cursor object. It will let

  8. # you execute all the queries you need

  9. cur = db.cursor()


  10. # Use all the SQL you like

  11. cur.execute("SELECT * FROM YOUR_TABLE_NAME")


  12. # print all the first cell of all the rows

  13. for row in cur.fetchall():

  14. print row[0]

还有很多用法和选项,我这里只举了一个基本的例子。

3. 高级用法

一旦你知道它是如何工作的,你可能想用ORM来避免手动写入SQL,来把表变成Python对象。Python中最有名的ORM叫做SQLAlchemy(强烈推荐

最近在Python里发现了一个好东西:peewee。它是个非常轻巧的ORM,非常容易安装和使用。一些小项目和独立app都可以使用它,像SQLLAlchemy或者Django用在这里有点小题大做了:

  1. import peewee

  2. from peewee import*


  3. db =MySQLDatabase('jonhydb', user='john',passwd='megajonhy')


  4. classBook(peewee.Model):

  5. author = peewee.CharField()

  6. title = peewee.TextField()


  7. classMeta:

  8. database = db


  9. Book.create_table()

  10. book =Book(author="me", title='Peewee is cool')

  11. book.save()

  12. for book inBook.filter(author="me"):

  13. print book.title


  14. Peeweeis cool

按上边操作即可运行,除了peewee(pip install peewee)不需要别的的操作。安装非常简单。

文章转载:Python编程学习圈
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/117856
 
515 次点击