前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习之MySQLdb模块

Python学习之MySQLdb模块

作者头像
py3study
发布2020-01-13 12:41:06
3590
发布2020-01-13 12:41:06
举报
文章被收录于专栏:python3

CentOS下安装

sudo yum install MySQL-python

可以参考http://www.mikusa.com/python-mysql-docs/index.html  获取更多信息

MySQL-python 为Python提供MySQL驱动程序,主要包括两个部件,_mysql和MySQLdb

  1. 连接数据库
代码语言:javascript
复制
In [56]: import MySQLdb

In [57]: db=MySQLdb.connect(host='127.0.0.1',user='xxx',passwd='xxx',db='xxx')

2.创建游标

为了能够在多处使用同一个连接,可以创建一个游标对象

代码语言:javascript
复制
In [60]: cur=db.cursor()

3.执行MySQL查询操作

创建数据库表

代码语言:javascript
复制
In [62]: cur.execute("CREATE TABLE song (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,title TEXT NOT NULL)")
代码语言:javascript
复制
In [67]: songs=('Purple Haze','All Along the Watch Tower','Foxy Lady')

In [68]: for song in songs:
   ....:     cur.execute("INSERT INTO song(title) VALUES (%s)",song)
   ....:     print "Auto Increment ID: %s"  %cur.lastrowid
   ....:
代码语言:javascript
复制
In [5]: cur.execute("SELECT * FROM song WHERE id = %s or id = %s",(1,2))
代码语言:javascript
复制
In [7]: numrows=cur.execute("SELECT * FROM song")

4.获取查询结果

当执行了任何查询操作后,可以用fetchall()或者fetchone()获取

代码语言:javascript
复制
#/usr/bin/python

import MySQLdb

db=MySQLdb.connect(host='127.0.0.1',user='xxx',passwd='xxx',db='xxx')
cur=db.cursor()
cur.execute("SELECT * FROM account")
rows=cur.fetchall()
for row in rows:
    for col in row:
        print "%s," %col
    print "\n"
代码语言:javascript
复制
In [70]: cur.execute("SELECT * FROM song WHERE id=1")

In [71]: print "ID: %s -- Title: %s" %cur.fetchone()

5.异常处理

代码语言:javascript
复制
import MySQLdb

db=MySQLdb.connect(host='127.0.0.1',user='jialebi',passwd='jialebi123',db='dream_android_game_center')
cur=db.cursor()
try:
   cur.execute("SELECT * FROM account")
   rows=cur.fetchall()
except MySQLdb.Error,e:
   try:
       print "MySQL Error [%d] : %s" % (e.args[0],e.args[1])
   except IndexError:
       print "MySQL Error: %s" % str(e)
for row in rows:
    for col in row:
        print "%s," %col
    print "\n"

6.清理连接

代码语言:javascript
复制
n [74]: cur.close()

In [75]: db.close()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档