`
hammer_nail
  • 浏览: 22938 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python 连接 MYSQL 完整版

阅读更多

今天想把我的Python的抓取器和MYSQL连在一块用,折腾了很久,也Google了些资料,为以防今后又会哟重复一次,特地把调试的步骤log down (最近记性不行,常常一天吃5,6顿饭,唉~~)

 

1. 下载MYSQL >> 这个就不多说了,从SUN网站down就行了,如果你想要个可视化的工具,你可以安装Navicat或者直接来个MSQL GUI

2.  下载MYSQL FOR PATHON edition , 由于我是X86 32的 WIN系统,就按此安装。

3.  如果你的%PYTHON_HOME%/lib 下发现MySQLdb目录,那就证明你第一步安装成功。

4.  接下来,打开你的CMD窗口,enter python >> help(MYSQLdb), 你估计会看到

        File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 19, in  
        ImportError: DLL load failed: 找不到指定的模块。

     这个时候就该google了,后来发现是缺少了2个dll文件分别为 libguide40.dll和libmmd.dll(See attachment)

     把这两个zip包解压后拷贝到/WINDOWS/SYSTEM32目录

5. 再敲help(MYSQLdb), 靠,又错了

       sys:1: DeprecationWarning: the sets module is deprecated

     再google一把,原来是python 2.6 找不到sets,

  • 找到 %PYTHON_HOME%/lib/MySQLdb文件夹的中__init__.py,注释掉 from sets import ImmutableSet 和 
  • 将下一行 class DBAPISet(ImmutableSet): 修改成 class DBAPISet(frozenset):
  • 找到converters.py注释掉from sets import BaseSet, Set
  • 修改第45行和129行中的Set为set

6. 喝口水,再再敲help(MYSQLdb), 靠~~~~~ help 信息出来了,大概好了吧,于是马上的动手写段代码

 

'''
Created on 2009-9-13

@author: Administrator
'''
#encoding=utf-8
import MySQLdb
import sys
import random
class MYSQLTest:
    def __init__(self, host, username, password, schema, table):
        self.host = host
        self.username = username
        self.password = password
        self.schema = schema
        self.table = table
        
    # 
    def doConnect(self):
        conn = MySQLdb.Connection(self.host, self.username, self.password, self.schema)
        return conn;
    def doClose(self):
        print "do CLose"
    #
    def doSelect(self):
        self.conn = self.doConnect()
        cur = self.conn.cursor()
        cur.execute('select * from ' + self.table + '')
        results = cur.fetchall()
        for i in results:
            print str(i)
        cur.close()
        self.doClose()
    #    Insert Test
    def doInsert(self):
        self.conn = self.doConnect()
        
        cur = self.conn.cursor()
        id = random.randint(0, 500)
        print id
        sql = 'insert into ' + self.schema + '.' + self.table + ' values(' + str(id) + ', \'test\')'
        print "SQL " + sql
        cur.execute(sql)
        self.conn.commit()
        #cur.insert_id()
        cur.close()
        self.doClose()
    #    Update
    def doUpdate(self):
        self.conn = self.doConnect()
        print "TODO UPDATE"
        cur = self.conn.cursor()
        cur.execute('update  ' + self.schema + '.' + self.table + ' set info=(\'test\') where id > 3')
        self.conn.commit()
        cur.close()
        self.doClose()
    #    Delete
    def doDelete(self):
        self.conn = self.doConnect()
        print "TODO DELETE"
        cur = self.conn.cursor()
        cur.execute('delete from ' + self.schema + '.' + self.table + ' where id < 100')
        self.conn.commit()
        cur.close()
        self.doClose()
#def     
if __name__ == '__main__':
    print "Test MYSQL"
    # Insert
    try:
        mySQL = MYSQLTest('localhost', 'root', 'pass', 'python_test', 'py_test')
        mySQL.doSelect()
        #mySQL.doSelect()
        mySQL.doInsert()
        #mySQL.doSelect()
        mySQL.doUpdate()
        mySQL.doDelete()
        mySQL.doSelect()
    except:
        print "Exception Happen"

    pass
 

   唉 ~~ 总算行了,2个小时就这个去了。

分享到:
评论

相关推荐

    python连接mysql插件

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

    Python-mysqldiff是一款轻量级数据库对比工具同时支持新增表的默认数据导入

    2. **默认数据导入**:当新的数据库版本中包含新增的表时,Python-mysqldiff可以将这些表的默认数据一同导入到旧的数据库中,确保新旧版本的数据完整性。 3. **易于集成**:作为Python库,Python-mysqldiff可以轻松...

    用 Python 连接 MySQL 的几种方式详解1

    Python 连接 MySQL 的方法多样,本文将详细介绍四种常见的连接方式。无论你是进行数据分析、网络爬虫、Web 开发还是机器学习,掌握如何使用 Python 操作 MySQL 都是非常重要的技能。 1. **MySQL-python/MySQLdb** ...

    python2.7 mysql windows 下 mysql的驱动

    总之,Python 2.7在Windows环境下连接MySQL数据库主要依赖`pymysql`或`MySQLdb`驱动。正确安装和配置这些驱动后,便可以通过Python的DB-API接口轻松地进行数据库操作。在实际开发中,还需要考虑编码问题、错误处理和...

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

    在Python中,你可以通过`begin()`、`commit()`和`rollback()`方法来控制事务的开始、提交和回滚,确保数据的一致性和完整性。 Python的ORM(对象关系映射)技术使得数据库操作更加抽象化和面向对象。ORM如...

    Python 连接 MySQL 的几种方法

    MySQL-python(也称为MySQLdb)是早期广泛使用的Python连接MySQL的库,许多框架,如Django,都基于此库构建。然而,它仅支持Python 2.x,且安装时需要C编译器,这在Windows平台上尤其麻烦,容易导致安装失败。因此...

    python3.1连接mysql的组件.rar

    在Python中连接MySQL数据库,通常我们会使用一个名为`pymysql`或`mysql-connector-python`的第三方库。不过,从提供的压缩包文件名"MySQL-python-1.2.3.win32-py3.1.exe"来看,这里使用的是一个较旧的库,名为`...

    用 Python 连接 MySQL 的几种方式详解

    MySQL-python,又称为 MySQLdb,是Python连接MySQL最古老的库之一,被许多框架所依赖。然而,它仅支持Python 2.x,且安装时需要满足一些前置条件,如安装`python-dev`和`libmysqlclient-dev`(在Ubuntu和Red Hat/...

    python操作MySQL的MySQLdb模块

    Python中的MySQLdb模块是连接和操作MySQL数据库的一个重要工具,尤其在Python 2.x版本中广泛使用。这个模块是Python的DB-API(数据库应用编程接口)的一个实现,它提供了与MySQL交互的一系列函数和类。下面我们将...

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

    在实际操作中,连接MySQL数据库的步骤包括: 1. 引入API模块:通过`import MySQLdb`导入模块。 2. 获取数据库连接:使用`MySQLdb.connect()`函数,传入参数如主机名(默认为localhost)、用户名、密码和数据库名,...

    mysql-connector-python

    标题"mysql-connector-python"表明我们要讨论的是MySQL数据库的Python连接器,它是MySQL官方提供的一个库,专门用于Python编程环境。这个连接器支持多种Python版本,从Python 2.7到Python 3.4,尽管Python已经更新到...

    python-mysql

    PyMySQL便是这样一款专门用于Python连接MySQL数据库的强大库。 #### 二、PyMySQL简介 PyMySQL是一个用纯Python编写的MySQL客户端库,它完全由Python编写而成,无需依赖于任何外部库或二进制组件。该库遵循Python DB...

    基于python和mysql的采购管理系统源码+sql文件.zip

    【基于Python和MySQL的采购管理系统源码+SQL文件】是一个典型的结合了后端开发与数据库管理的项目。这个系统利用Python作为主要的编程语言,搭配MySQL数据库存储数据,同时运用了Pycharm作为Python开发环境,Data...

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

    在高级开发课程中,Python操作MySQL数据库是一个关键主题,这涉及到如何使用Python连接、查询以及管理MySQL数据库。 MySQL是一个流行的关系型数据库管理系统(RDBMS),它以其高效、稳定和开源特性而闻名。当Python...

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    在Python3中操作MySQL数据库并插入一条数据,然后获取并返回这条...通过上述步骤,可以完整地实现使用Python3插入MySQL数据库数据并获取插入数据的主键id的功能,这对于数据库编程和数据管理都是非常重要的操作技能。

    mysql-connector1.2.3连接Python

    这个驱动程序完全支持Python 2和Python 3,因此无论你使用哪个版本的Python,都能顺利地实现数据库操作。在"mysql-connector-python-1.2.3"这个压缩包中,你应该能找到必要的库文件和可能的示例代码,帮助你快速理解...

    MySQL Connector/Python 完全用 Python 实现MySQL客户端/服务器协议 无需MySQL库,也无需编

    MySQL 连接器/Python MySQL Connector/Python 使 Python 程序能够使用符合Python 数据库 API 规范 v2.0 (PEP 249) 的API 访问 MySQL 数据库。它还包含X DevAPI的实现,X DevAPI 是用于处理MySQL 文档存储的应用...

    2.7python用的MySQL-python有linux,win32,win64三个版本

    - 连接MySQL服务器,创建、关闭连接。 - 创建、执行SQL语句,获取查询结果。 - 插入、更新、删除数据库记录。 - 处理事务,确保数据的一致性和完整性。 - 支持Python的异常处理机制,使得错误处理更加方便。 - 提供...

Global site tag (gtag.js) - Google Analytics