`
longforfreedom
  • 浏览: 198829 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

用Python操作Mysql

阅读更多
 

       平时的主要编程语言是Java,开发时也主要用Mysql,经常为了测试,调试的目的需要操作数据库,比如备份,插入测试数据,修改测试数据,有些时候不能简单的用SQL就能完成任务,或都很好的完成任务,用Java写又有点太麻烦了,就想到了Python。Python语法简洁,不用编译,可以经较好的完成任务。今天看了下Python对Mysql的操作,做一下记录。

 

首先,安装需要的环境,Mysql和Python就不说了,必备的东西。

主要是安装的MySQLdb,可以去sf.net下载,具体地址是http://sourceforge.net/projects/mysql-python/

如果用Ubuntu,直接

 

sudo apt-get install python-mysqldb

 

安装完成之后可以在Python解释器中测试一下

输入

import MySQLdb #注意大小写!!

 如果不报错,就证明安装成功了,可能继续了


MySQLdb在Python中也就相当于JAVA中的MySQL的JDBC Driver,Python也有类似的数据接口规范Python DB API,MySQLdb就是Mysql的实现。操作也比较简单和其它平台或语言操作数据库一样,就是建立和数据库系统的连接,然后给数据库输入SQL,再从数据库获取结果。

先写一个最简单的,创建一个数据库:

 

#!/usr/bin/env python
#coding=utf-8
###################################
# @author migle
# @date 2010-01-17
##################################
#MySQLdb 示例
#
##################################
import MySQLdb

#建立和数据库系统的连接
conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')

#获取操作游标
cursor = conn.cursor()
#执行SQL,创建一个数据库.
cursor.execute("""create database python """)

#关闭连接,释放资源
cursor.close();
 

 

创建数据库,创建表,插入数据,插入多条数据

 

#!/usr/bin/env python
#coding=utf-8
###################################
# @author migle
# @date 2010-01-17
##################################
#MySQLdb 示例
#
##################################
import MySQLdb

#建立和数据库系统的连接
conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')

#获取操作游标
cursor = conn.cursor()
#执行SQL,创建一个数据库.
cursor.execute("""create database if not exists python""")

#选择数据库
conn.select_db('python');
#执行SQL,创建一个数据表.
cursor.execute("""create table test(id int, info varchar(100)) """)

value = [1,"inserted ?"];

#插入一条记录
cursor.execute("insert into test values(%s,%s)",value);

values=[]


#生成插入参数值
for i in range(20):
    values.append((i,'Hello mysqldb, I am recoder ' + str(i)))
#插入多条记录

cursor.executemany("""insert into test values(%s,%s) """,values);

#关闭连接,释放资源
cursor.close();
 

 

查询和插入的流程差不多,只是多了一个得到查询结果的步骤

 

#!/usr/bin/env python
#coding=utf-8
######################################
#
# @author migle
# @date 2010-01-17
#
######################################
#
# MySQLdb 查询
#
#######################################

import MySQLdb

conn = MySQLdb.connect(host='localhost', user='root', passwd='longforfreedom',db='python')

cursor = conn.cursor()

count = cursor.execute('select * from test')

print '总共有 %s 条记录',count

#获取一条记录,每条记录做为一个元组返回
print "只获取一条记录:"
result = cursor.fetchone();
print result
#print 'ID: %s   info: %s' % (result[0],result[1])
print 'ID: %s   info: %s' % result 

#获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录
print "只获取5条记录:"
results = cursor.fetchmany(5)
for r in results:
    print r

print "获取所有结果:"
#重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative,
cursor.scroll(0,mode='absolute')
#获取所有结果
results = cursor.fetchall()
for r in results:
    print r
conn.close()
 

 

 

 

分享到:
评论
5 楼 longforfreedom 2010-02-16  
leopku 写道
python 2.6下好像没MySQLdb的安装包,有时候还是麻烦。
不过我一直用python 2.5

我用的就是2.6
4 楼 wayhome 2010-01-25  
leopku 写道
python 2.6下好像没MySQLdb的安装包,有时候还是麻烦。
不过我一直用python 2.5


这个2.6下其实有,easy_install mysql-python安装即可
3 楼 leopku 2010-01-21  
python 2.6下好像没MySQLdb的安装包,有时候还是麻烦。
不过我一直用python 2.5
2 楼 wooodyhuang 2010-01-21  
windywany 写道
Windows
.......

I don't do Windows. However if someone provides me with a package for
Windows, I'll make it available. Don't ask me for help with Windows
because I can't help you.


MySQLdb 作者的原话吧,这语气,哎。
刚开始看readme的时候也吓我一跳,好在MySQLdb确实好用哪。
1 楼 windywany 2010-01-21  
Windows
.......

I don't do Windows. However if someone provides me with a package for
Windows, I'll make it available. Don't ask me for help with Windows
because I can't help you.

相关推荐

    Python操作Mysql实例教程手册.pdf

    总的来说,Python操作MySQL涉及的主要知识点包括:Python的DB-API,`pymysql`或`mysql-connector-python`库的使用,SQL语句的编写,数据的增删改查,事务管理,以及与`pandas`库的集成。通过“Python操作MySQL实例...

    python 操作mysql 安装和使用

    Python操作MySQL是一个常见的任务,特别是在数据处理和Web开发中。MySQL是一个流行的开源关系型数据库管理系统,而Python作为一种功能强大的编程语言,提供了多种库来与MySQL交互。本教程将详细介绍如何在Python环境...

    python操作MySQL教程

    对于初学者来说,阅读《Python操作Mysql实例教程手册.pdf》这样的资源将非常有帮助,它会提供更详细的操作示例和实践指南,助你在Python与MySQL的结合使用上更加熟练。通过不断练习和理解,你将能够利用Python的强大...

    Python操作Mysql实例代码教程.pdf

    Python操作Mysql实例代码教程.pdf

    Python操作Mysql实例教程手册

    本手册详细介绍了如何使用Python操作MySQL数据库,包括连接数据库、执行SQL语句、处理结果集等常见操作,并通过多个实例帮助读者快速掌握相关技能。 #### 二、Python操作MySQL基础 1. **环境搭建**: - 在Windows...

    python操作mysql封装库

    python连接mysql,操作mysql函数封装

    python操作mysql数据库上课讲义.pdf

    Python操作MySQL数据库时,还可以执行插入、更新、删除等其他SQL语句。此外,还可以使用参数化查询来防止SQL注入攻击,如`cursor.execute("INSERT INTO EMPLOYEE VALUES (%s, %s, %s, %s, %s)", (first_name, last_...

    python操作MySQL的MySQLdb模块

    Python中的MySQLdb模块是连接和操作MySQL数据库的一个重要工具,尤其在Python 2.x版本中广泛使用。这个模块是Python的DB-API(数据库应用编程接口)的一个...通过学习和实践,你可以熟练掌握Python操作MySQL的技能。

    python操作mysql

    总的来说,Python操作MySQL涉及使用像`MySQLdb`这样的库来连接、查询和管理数据库。了解如何正确使用这些库是Python开发者的重要技能,特别是在需要处理大量数据或构建动态Web应用时。通过阅读所提供的博客文章,你...

    最全的python操作mysql数据库的函数

    自己收集编写的python操作mysql函数,奉献给大家,该文件包含用python处理mysql的查、增、改、删、命名、排序等操作的函数,mysql数据库操作的各种sql语句可供参考。

    Python操作MySQL数据进行图片存取操作

    以上就是Python操作MySQL数据进行图片存取操作的知识点。这个过程中,我们使用了Python的文件操作和数据库操作技能,特别是对二进制数据的处理能力。通过这个例子,我们可以理解到Python和MySQL数据库在处理非结构化...

    python操作mysql数据库.pdf

    在使用Python操作MySQL数据库之前,你需要确保已经安装了MySQL数据库并创建了相应的数据库、表和用户。例如,假设你有一个名为TESTDB的数据库,其中包含一个名为EMPLOYEE的表,表结构包括FIRST_NAME、LAST_NAME、AGE...

    python读写MySQL数据库操作

    python读写MySQL数据库操作,读操作,写操作,python读写MySQL数据库操作

    Python+MySQL图形化界面图书馆管理系统.zip

    通过Python的mysql-connector-python库,可以方便地进行数据库连接、查询、插入、更新和删除操作。 系统的主要功能模块包括: 1. 图书管理:添加、删除和修改图书信息,同时支持按照多种条件(如书名、作者等)...

    python连接mysql插件

    在这个场景下,"python连接mysql插件"指的是Python中的一个名为`mysql-connector-python`的库,它允许Python程序连接并操作MySQL数据库。 `mysql-connector-python`是Oracle官方提供的Python驱动程序,完全兼容...

    python操作mysql进行更新.docx

    1. **连接MySQL**: 使用Python操作MySQL数据库前,需要先建立一个到MySQL服务器的连接。这通常通过`pymysql`或`mysql-connector-python`库来完成。 - **安装**: ```bash pip install pymysql ``` - **示例代码*...

    图书信息管理系统python+mysql.zip

    《图书信息管理系统:Python与MySQL的融合应用》 在当今数字化时代,图书信息管理系统的存在至关重要,...通过学习和理解这个系统,开发者不仅可以提升Python和MySQL的使用技能,还能掌握如何构建实际的信息管理系统。

    完整版 Python高级开发课程 高级教程 06 Python操作MySQL数据库.pptx

    在本课程"Python高级开发课程 高级教程 06 Python操作MySQL数据库"中,我们将深入探讨如何使用Python与MySQL数据库进行交互。Python是广泛应用于数据处理和数据分析的语言,而MySQL则是一种流行的开源关系型数据库...

    Python操作MySQL及处理EXCEL支持包

    1. Python操作MySQL: - MySQL数据库:MySQL是一种广泛使用的开源关系型数据库管理系统,适用于各种规模的应用,从小型项目到大型企业级应用。 - PyMySQL:Python连接MySQL的库,提供了类似DB-API的接口,使开发者...

Global site tag (gtag.js) - Google Analytics