python安装mysqldb模块_python MysqlDb模块安装及其使用详解

python调用mysql数据库通常通过mysqldb模块,简单说下如何调用

1.安装驱动

目前有两个MySQL的驱动,我们可以选择其中一个进行安装:

1. MySQL-python:是封装了MySQL C驱动的Python驱动;

2.mysql-connector-python:是MySQL官方的纯Python驱动。

这里使用MySQL-python驱动,即MySQLdb模块。

命令行安装

pip install python-mysql

或者在pycharm包中安装

源码安装方式

访问: http://www.lfd.uci.edu/~gohlke/pythonlibs/,下载MySQL_python-1.2.5-cp27-none-win_amd64.whl

2018223103536936.png?2018123103556

将其拷贝到Python安装目录下的Scripts目录下,在文件位置打开cmd,执行pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

验证,python(command line)输入import MySQLdb,没报错,说明安装成功。

2018223103610275.png?2018123103622

测试连接:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 连接数据库 连接地址 账号 密码 数据库 数据库编码

db = MySQLdb.connect("localhost", "root", "123456", "test" , charset="utf8")

# 使用cursor()方法获取操作游标

cursor = db.cursor()

# 使用execute方法执行SQL语句

cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据库。

data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接

db.close()

示例1:

#!/usr/bin/python

# coding=utf-8

import MySQLdb

import os, sys

import json

class MysqlDb(object):

def __init__(self):

self.host = "127.0.0.1"

@staticmethod

def get_connect():

db = MySQLdb.connect(self.host , "mail_report", "mail_report", "mailawst", charset="utf8")

return db

def get_mysql_info(self,start_time,end_time):

tmp = []

db = self.get_connect()

sql = 'select send_time,mail_id,mail_addr,server_domain,server_ip,mail_status from real_mail_log where send_time > "%s" and send_time < "%s" limit 10;' % (start_time,end_time)

cursor = db.cursor()

cursor.execute(sql)

values = cursor.fetchall()

for i in values:

data = {}

data["send_time"] = str(i[0])

data["mail_id"] = str(i[1])

data["mail_addr"]= str(i[2])

data["server_domain"] = str(i[3])

data["server_ip"] = str(i[4])

data["mail_status"]= str(i[5].encode('utf8'))

tmp.append(data)

data = json.dumps(tmp,ensure_ascii=False)

db.close()

return data

def main():

u = MysqlDb()

print u.get_mysql_info('2017-05-01 00:00:02','2017-05-01 00:50:03')

if __name__ == '__main__':

main()

示例2:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接

db = MySQLdb.connect("localhost", "root", "123456", "test")

# 使用cursor()方法获取操作游标

cursor = db.cursor()

# SQL插入语句

ins_sql = """INSERT INTO EMPLOYEE(FIRST_NAME,

LAST_NAME, AGE, SEX, INCOME)

VALUES ('yu', 'jie', 20, 'M', 8000)"""

ins_sql1 = 'insert into employee(first_name, last_name, age, sex, income) values (%s, %s, %s, %s, %s)'

# SQL查询语句

sel_sql = 'select * from employee where first_name = %s'

# SQL更新语句

upd_sql = 'update employee set age = %s where sex = %s'

# SQL删除语句

del_sql = 'delete from employee where first_name = %s'

try:

# 执行sql语句

# insert

cursor.execute(ins_sql)

cursor.execute(ins_sql1, ('xu', 'f', 20, 'M', 8000))

# select

cursor.execute(sel_sql, ('yu',))

values = cursor.fetchall()

print values

# update

cursor.execute(upd_sql, (24, 'M',))

# delete

cursor.execute(del_sql, ('xu',))

# 提交到数据库执行

db.commit()

except:

# 发生错误时回滚

db.rollback()

# 关闭数据库连接

db.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值