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字符串编码识别模块chardet简单应用
Jun 15 Python
Python实现读取文件最后n行的方法
Feb 23 Python
python3之微信文章爬虫实例讲解
Jul 12 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
django 信号调度机制详解
Jul 19 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
Python无损压缩图片的示例代码
Aug 06 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 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
ADODB类使用
2006/11/25 PHP
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
ubuntu中配置pyqt4环境教程
2017/12/27 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
用python对oracle进行简单性能测试
2020/12/05 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
银行实习生的自我评价
2014/01/13 职场文书
买房子个人收入证明
2014/10/12 职场文书
单位委托函范文
2015/01/29 职场文书
推荐信范文大全
2015/03/27 职场文书
政府会议通知范文
2015/04/15 职场文书
给校长的建议书范文
2015/09/14 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python