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字符串替换示例
Apr 24 Python
Python常见数据结构详解
Jul 24 Python
python实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
Python实现二分查找算法实例
May 26 Python
Python实现简单的四则运算计算器
Nov 02 Python
使用python实现接口的方法
Jul 07 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
python设置环境变量的作用和实例
Jul 09 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 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 文件夹删除、php清除缓存程序
2009/08/25 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
Python中subprocess模块用法实例详解
2015/05/20 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
pandas数据集的端到端处理
2019/02/18 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
车间机修工岗位职责
2014/02/28 职场文书
大课间活动实施方案
2014/03/06 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
真诚的求职信
2014/07/04 职场文书
保险专业求职信
2014/07/07 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
教师求职自荐信
2015/03/26 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
详解Python为什么不用设计模式
2021/06/24 Python