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模块安装及其使用详解相关推荐

  1. python 自动化办公 案例_python自动化工具之pywinauto实例详解

    python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...

  2. python decimal类型转化_python中的decimal类型转换实例详解

    [Python标准库]decimal--定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算. Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是 ...

  3. python 编码解码原理_Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 JSON(JavaScript Ob ...

  4. [转载] python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    参考链接: Python字符串| rfind python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in ...

  5. python获取键盘按键_Python中捕获键盘的方式详解

    python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...

  6. python中反三角函数用法_Python入门之三角函数atan2()函数详解

    python 的 Python入门之三角函数atan2()函数详解 描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math ...

  7. python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是 ...

  8. python实现排序函数_Python排序函数的使用方法详解

    Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...

  9. python find(urlopen.read())_Python小白必看之urlopen()详解

    一.  简介 urllib.request.urlopen()函数用于实现对目标url的访问. 函数原型如下:urllib.request.urlopen(url, data=None, [timeo ...

  10. python属性使用教程_Python对象的属性访问过程详解

    只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 看似简单的属性访问, 其过程还蛮曲折的. 总共有以下几个step: 1. 如果obj 本身(一个instance )有这个属性, ...

最新文章

  1. CSS position财产
  2. 开启Android Q DarkMode | 开启Android Q深色模式 夜间模式
  3. 配置MOSS2007beta2的单机开发环境(下)
  4. Origin教程:DSC曲线的描述和绘制
  5. 【经典回放】多种语言系列数据结构线性表之二:链表
  6. binlog和redo log的区别
  7. 多用户文件系统java实现_为什么要有文件系统?文件系统都有那些种类?
  8. es6中的promise解读
  9. Python数据分析《黑客帝国》-一切都不是偶然
  10. jpa 动态查询条件 数组_JPA使用Specification构建动态查询
  11. 【云原生】在 React Native 中使用 AWS Textract 实现文本提取
  12. vbs查看系统开关机时间
  13. 基于EEG-EMG混合控制方法的研究—生物机器人应用:现状、挑战与未来方向(三)
  14. 用于 Power 体系结构的汇编语言
  15. CryEngine的Modular Behavior Tree简介
  16. 使用layer弹窗实现 监听单选框radio改变事件
  17. 手握国企offer,33岁程序员不按常理出牌,网友炸了!
  18. acm-(dp、最小树形图)Sichuan State Programming Contest 2011 I.Smart Typist
  19. 前端七十二变之jquery进阶
  20. 平直度测量仪在线测量圆棒的直线度

热门文章

  1. css中的一些问题及解决方法
  2. UiAutomator喷射事件的源代码分析
  3. Delphi XE7 用indy开发微信公众平台(3)- 验证消息真实性
  4. linux 对于Vim配置的方法
  5. Castle ActiveRecord学习实践(8)HQL查询
  6. 案例:演示exception对象的使用
  7. 无比乐java游戏_传智播客Java JavaEE+物联网云计算 就业班
  8. java的框架是轻量级的_一站式轻量级框架 Spring
  9. mac android手机调试,mac os开发android应用通过usb真机调试
  10. 管理员需要对此项目进行安全扫描_当ArcGIS Server与Web安全擦出火花??