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多线程操作实例
Nov 21 Python
用于统计项目中代码总行数的Python脚本分享
Apr 21 Python
Python功能键的读取方法
May 28 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
详解python中@的用法
Mar 27 Python
python Django里CSRF 对应策略详解
Aug 05 Python
pytorch 输出中间层特征的实例
Aug 17 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
通过python连接Linux命令行代码实例
Feb 18 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
php7性能提升的原因详解
2019/10/13 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
js格式化时间小结
2014/11/03 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
家长会演讲稿范文
2014/01/10 职场文书
心理健康日活动总结
2014/05/08 职场文书
给校长的一封检讨书
2014/09/20 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
党风廉正建设责任书
2015/01/29 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
婚宴父亲致辞
2015/07/27 职场文书
网络营销实训总结
2015/08/03 职场文书
生活小常识广播稿
2015/08/19 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
PO模式在selenium自动化测试框架的优势
2022/03/20 Python