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 01 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
python实现字典嵌套列表取值
Dec 16 Python
TensorFLow 变量命名空间实例
Feb 11 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
带你学习Python如何实现回归树模型
Jul 16 Python
python飞机大战游戏实例讲解
Dec 04 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类常量的使用详解
2013/06/08 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
js Function类型
2011/12/04 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
详解Python IO口多路复用
2020/06/17 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
教师节促销方案
2014/03/22 职场文书
中学生操行评语大全
2014/04/24 职场文书
专家推荐信模板
2014/05/09 职场文书
校园活动策划方案
2014/06/13 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
办公用品管理制度
2015/08/04 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
如何用python绘制雷达图
2021/04/24 Python
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript