python与MySQL的交互

要想和MySQL数据库交互,首先需要安装数据库驱动模块,python2和python3的数据库驱动是不同的。

python2中的数据库模块是MysqLdb,可以通过以下命令安装

sudo apt-get install python-mysql

 在文件中引入模块

import MySQLdb

python3中模块名为PyMySQL,我用pip3安装的

sudo pip3 install PyMySQL

windows下的命令是

 python -m pip3 install PyMySQL

然后是一些我碰到的问题:

1.Ubuntu下安装时用了pip,结果安装到py2.7版本了,在重安一次

2.windows下安装,因为有多个版本的python,会报错,解决方法是找一个版本管理工具,或者直接卸掉不用的版本,或者用pycharm

3.我刚安装完数据库模块的时候,pycharm找不到,然后到setting里去找 Project-->Project Interpreter,,然后右上角的设置图标,点开选择Add,点击System Interpreter,然后右上角有三个点号,点开找到python.exe,选择。pycharm还不太熟,只想到这种方法,有简单方法可以评论留言,谢谢。

接下来是我实现的对数据库模块的封装

# -*- coding:utf-8 -*-

import pymysql


class MySQLHelper(object):
    """"""
    def __init__(self, host, user, paw, db):
        self.host = host
        self.user = user
        self.paw = paw
        self.db = db
        self.result = []

    def connect(self):
        self.conn = pymysql.connect(self.host, self.user, self.paw, self.db)
        self.cursor = self.conn.cursor()

    def close(self):
        self.conn.close()

    def execute_sql(self,sql):
        try:
            self.connect()
            self.cursor.execute(sql)
            self.conn.commit()
        except Exception as e:
            self.conn.rollback()
            print(e)
        self.close()

    def search_one(self, sql):
        try:
            self.connect()
            self.cursor.execute(sql)
            self.result = self.cursor.fetchone()
            print(self.result)
        except Exception as e:
            print(e)
        self.close()

    def search_all(self, sql):
        try:
            self.connect()
            self.cursor.execute(sql)
            self.result = self.cursor.fetchall()
            for i in self.result:
                print(i)
        except Exception as e:
            print(e)
        self.close()


if __name__ == '__main__':
    # 以下是测试
    my_sql = MySQLHelper("地址", "用户名", "密码", "数据库名")
    sql = """select * from student"""
    my_sql.connect()
    my_sql.search_all(sql)
    print("hahah")

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值