python连接mysql数据库,进行基础操作

项目中需要对数据库中的数据进行比对,人工执行sql比对非常耗时,用python脚本可以节省很多人力。

1.下载pymysql模块

pycharm下载方式:File--》Settings--》Project--》Project Interpreter,点击右侧【+】号,弹出的Available Packages中搜索“pymsql”,选中待下载选项,点击左下角【Install Package】按钮,可以自动安装成功。

 

也可以执行“pip install pymsql”命令下载

2.在python脚本中引用pymsql模块,初始化数据库,通过游标执行sql语句

import pymysql
class connect_to_mysql(object):
    #数据库信息写在字典中,以参数方式传给自定义类进行数据库初始化
    def __init__(self,mysql_info):
        self.connect = pymysql.connect(
            host=mysql_info["host"],
            port=mysql_info["port"],
            user=mysql_info["user"],
            password = mysql_info["password"],
            db=mysql_info["db"],
            charset="utf8",
            cursorclass=pymysql.cursors.DictCursor#查询数据量大时,加游标可以节省资源,提高查询效率
        )
        self.cursor=self.connect.cursor()
    def __del__(self):
        self.cursor.close()#访问结束自动关闭游标
        self.connect.close()#访问结束自动关闭连接
    #自定义一个方法,讲要执行的sql语句做为参数传递
    def excute_sql(self,sql):
        results = []
        counts=self.cursor.execute(sql)
        print(counts)
        rows = self.cursor.fetchall()#获取所有的执行结果
        #根据数据需要,对查询结果进行修改,此处未验证插入和修改、删除数据,如果有需要,这块代码可以根据需要稍作调整
        for result in rows:
            print(result)
            s = []
            for k in result:
                s.append(result[k])
            str1 = str(s)
            str2 = str1.replace("[", "", 1)
            str2 = str2[:-1] + ""

            results.append(str2)

        # rows = self.cursor.fetchone()
        # print(rows)
        # print(results)
        return results

3.定义main()方法,访问数据库,执行sql语句

def main():
    mysql_info ={
        "host" : "60.xx.xx.xxx",#数据库ip
        "port" : xxxx,#数据库端口
        "user" : "username",#数据库访问用户名
        "password" : "xxxx",#数据库密码
        "db" : "dbname"#db名称
    }
    #初始化数据库连接,数据库访问信息以字典方式传给初始化方法
    new_connect = connect_to_mysql(mysql_info)
    sql = "SELECT code FROM `tv_student` where name like '%张三%'"
    new_connect.excute_sql(sql)

if __name__ == '__main__':
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值