2034|2

119

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

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、使用

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

然后就像用其他包一样:

#!/usr/bin/python

importMySQLdb

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]

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

3、高级用法

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

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

import peewee

from peewee import*

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

classBook(peewee.Model):

author = peewee.CharField()

title = peewee.TextField()

classMeta:

database = db

Book.create_table()

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

book.save()

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

print book.title

Peeweeis cool

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

 

 

丨 整理文章为传播相关技术,版权归原作者所有丨

丨如有侵权,请联系删除丨

此帖出自单片机论坛

最新回复

database 是内部数据成员?没看到对database的引用使用啊   详情 回复 发表于 2021-8-25 17:18
点赞(1) 关注(1)
个人签名

嵌入式、汇编语言等免费视频<

 

回复
举报

6822

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

仔细看楼主的步骤是非常简单,问题是怎么开始就知道这些步骤呢

此帖出自单片机论坛
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

板凳
 

database 是内部数据成员?没看到对database的引用使用啊

此帖出自单片机论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表