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


Posted in Python onFebruary 23, 2018

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

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

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

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

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

测试连接:

#!/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()

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

Python 相关文章推荐
Python中类型关系和继承关系实例详解
May 25 Python
深入讲解Python编程中的字符串
Oct 14 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python快速排序算法实例分析
Nov 29 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
Python编程中类与类的关系详解
Aug 08 Python
Tensorflow 多线程设置方式
Feb 06 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
Flask搭建一个API服务器的步骤
May 28 Python
Python实现k-means算法
Feb 23 #Python
python语言中with as的用法使用详解
Feb 23 #Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 #Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 #Python
python3调用R的示例代码
Feb 23 #Python
python中kmeans聚类实现代码
Feb 23 #Python
python实现SOM算法
Feb 23 #Python
You might like
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
经验几则 推荐
2006/09/05 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
在Python中表示一个对象的方法
2019/06/25 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
营销专业应届生求职信
2013/11/26 职场文书
三年级评语大全
2014/04/23 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
见习报告的格式
2014/10/31 职场文书
旷课检讨书范文
2015/01/27 职场文书