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 常用string函数(收藏)
May 30 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
Python实现二维曲线拟合的方法
Dec 29 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
详解python之heapq模块及排序操作
Apr 04 Python
python批量处理文件或文件夹
Jul 28 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
Python发送邮件封装实现过程详解
May 09 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
SONY SRF-M100的电路分析
2021/03/02 无线电
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
js获取form的方法
2015/05/06 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python实现线程池的方法
2015/06/30 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
二年级班级文化建设方案
2014/05/10 职场文书
公司收款委托书范本
2014/09/20 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
试用期辞职信范文
2015/03/02 职场文书
教师教育心得体会
2016/01/19 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
导游词之青城山景区
2019/09/27 职场文书