python安装mysqldb模块_python MysqlDb模块安装及其使用详解
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安装目录下的Scripts目录下,在文件位置打开cmd,执行pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl
验证,python(command line)输入import 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安装mysqldb模块_python MysqlDb模块安装及其使用详解相关推荐
- python 自动化办公 案例_python自动化工具之pywinauto实例详解
python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...
- python decimal类型转化_python中的decimal类型转换实例详解
[Python标准库]decimal--定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算. Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是 ...
- python 编码解码原理_Python JSON编解码方式原理详解
这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 JSON(JavaScript Ob ...
- [转载] python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解
参考链接: Python字符串| rfind python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in ...
- python获取键盘按键_Python中捕获键盘的方式详解
python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...
- python中反三角函数用法_Python入门之三角函数atan2()函数详解
python 的 Python入门之三角函数atan2()函数详解 描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math ...
- python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解
python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是 ...
- python实现排序函数_Python排序函数的使用方法详解
Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...
- python find(urlopen.read())_Python小白必看之urlopen()详解
一. 简介 urllib.request.urlopen()函数用于实现对目标url的访问. 函数原型如下:urllib.request.urlopen(url, data=None, [timeo ...
- python属性使用教程_Python对象的属性访问过程详解
只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 看似简单的属性访问, 其过程还蛮曲折的. 总共有以下几个step: 1. 如果obj 本身(一个instance )有这个属性, ...
最新文章
- CSS position财产
- 开启Android Q DarkMode | 开启Android Q深色模式 夜间模式
- 配置MOSS2007beta2的单机开发环境(下)
- Origin教程:DSC曲线的描述和绘制
- 【经典回放】多种语言系列数据结构线性表之二:链表
- binlog和redo log的区别
- 多用户文件系统java实现_为什么要有文件系统?文件系统都有那些种类?
- es6中的promise解读
- Python数据分析《黑客帝国》-一切都不是偶然
- jpa 动态查询条件 数组_JPA使用Specification构建动态查询
- 【云原生】在 React Native 中使用 AWS Textract 实现文本提取
- vbs查看系统开关机时间
- 基于EEG-EMG混合控制方法的研究—生物机器人应用:现状、挑战与未来方向(三)
- 用于 Power 体系结构的汇编语言
- CryEngine的Modular Behavior Tree简介
- 使用layer弹窗实现 监听单选框radio改变事件
- 手握国企offer,33岁程序员不按常理出牌,网友炸了!
- acm-(dp、最小树形图)Sichuan State Programming Contest 2011 I.Smart Typist
- 前端七十二变之jquery进阶
- 平直度测量仪在线测量圆棒的直线度
热门文章
- css中的一些问题及解决方法
- UiAutomator喷射事件的源代码分析
- Delphi XE7 用indy开发微信公众平台(3)- 验证消息真实性
- linux 对于Vim配置的方法
- Castle ActiveRecord学习实践(8)HQL查询
- 案例:演示exception对象的使用
- 无比乐java游戏_传智播客Java JavaEE+物联网云计算 就业班
- java的框架是轻量级的_一站式轻量级框架 Spring
- mac android手机调试,mac os开发android应用通过usb真机调试
- 管理员需要对此项目进行安全扫描_当ArcGIS Server与Web安全擦出火花??