Mysql 安装Python模块

 
Linux:
  1. yum install MySQL-python

Windos:

  1. http://files.cnblogs.com/files/wupeiqi/py-mysql-win.zip
用户授权:
  1. mysql> grant all on *.* to 'root'@'%' identified by "123456";

MySQLdb

MySQLdb默认在3.0后不支持,最后一次更新在2014年。

例子1:插入一条数据
  1. import MySQLdb
  2.  
  3. # 创建链接实例对象
  4. conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')
  5.  
  6. # 选定光标
  7. cur = conn.cursor()
  8.  
  9. # 光标.execute 数据库执行命令
  10. reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('alex','usa'))
  11. # reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'})
  12.  
  13. # 提交
  14. conn.commit()
  15.  
  16. # 关闭光标
  17. cur.close()
  18.  
  19. # 关闭链接
  20. conn.close()
  21.  
  22. print(reCount)
例子2:批量插入数据
  1. import MySQLdb
  2.  
  3. # 创建链接实例对象
  4. conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')
  5.  
  6. # 选定光标
  7. cur = conn.cursor()
  8.  
  9. # 创建values列表
  10. li =[
  11. ('alex','usa'),
  12. ('sb','usa'),
  13. ]
  14.  
  15. # 将列表传入到命令中 光标.executemany 自动将列表循环
  16. reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li)
  17.  
  18. # 提交命令
  19. conn.commit()
  20.  
  21. # 关闭光标
  22. cur.close()
  23.  
  24. # 关闭链接
  25. conn.close()
  26.  
  27. print(reCount)

PyMySQL
在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置
    • cursor.scroll(1,mode='relative')  # 相对当前位置移动
    • cursor.scroll(2,mode='absolute') # 相对绝对位置移动
 
例子1:基本使用
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. import pymysql
  4.  
  5. # 创建连接
  6. conn = pymysql.connect(host='192.168.1.154', port=3306, user='root', passwd='', db='xiang')
  7.  
  8. # 创建游标
  9. cursor = conn.cursor()
  10.  
  11. # 一. execute 执行一条SQL
  12. # 执行SQL获取表内数据,并返回收影响行数
  13. #effect_row = cursor.execute("select * from xxx")
  14.  
  15. # 1.fetchone() 递增输出信息
  16. # 取回数 有几条数据
  17. #print(effect_row)
  18. # 取回第一条数据
  19. #print(cursor.fetchone())
  20. # 取回第二条数据
  21. #print(cursor.fetchone())
  22.  
  23. #print('---------------')
  24.  
  25. # 2.fetchall() 获取游标后面所有条数
  26. #print(cursor.fetchall())
  27.  
  28. # 3.fetchmany(num) 指定获取几条数据
  29. # print(cursor.fetchmany())
  30.  
  31. # 二.executemany 以列表形式循环values
  32. # 创建value数据
  33. # data = [
  34. # ("miya","2015-05-21"),
  35. # ("anni","2015-05-22"),
  36. # ("roli","2015-05-23"),
  37. # ("xity","2015-05-24"),
  38. # ]
  39. # 执行SQL,并返回受影响行数executemany 循环列表内数据
  40. # effect_row = cursor.executemany("insert into xxx (name1,register_data) values(%s,%s)",data)
  41.  
  42. # 提交,不然无法保存新建或者修改的数据
  43. # 默认开启事务提交完成
  44. conn.commit()
  45.  
  46. # 关闭游标
  47. cursor.close()
  48. # 关闭连接
  49. conn.close()

例子2:字典类型打印

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. import pymysql
  4.  
  5. conn = pymysql.connect(host='192.168.1.154', port=3306, user='root', passwd='', db='xiang')
  6.  
  7. # 游标设置为字典类型 cursor=pymysql.cursors.DictCursor
  8. cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
  9.  
  10. # 执行sql
  11. r = cursor.execute("select * from xxx")
  12.  
  13. # 获取第一行
  14. result = cursor.fetchone()
  15.  
  16. # 获取字典
  17. print(result)
  18.  
  19. # 提交事务
  20. conn.commit()
  21.  
  22. # 关闭游标
  23. cursor.close()
  24.  
  25. # 关闭链接
  26. conn.close()

Python Mysql 交互的更多相关文章

  1. 第一节、Alex 讲解 python+mysql 交互;

    Python Mysql 交互 A.Alex 的语法展示: import MySQLdb  try:      conn=MySQL.connect(host='localhost',user='ro ...

  2. Python与Mysql交互

    #转载请联系 在写内容之前,先放一张图,bling- 这张图算是比较详细的表达出了web开发都需要什么.用户访问网页,就是访问服务器的网页文件.这些网页文件由前端工程师编写的.服务器通常用nginx/ ...

  3. mysql与python的交互

    mysql是一种关系型数据库,是为了表示事物与事物之间的关系,本身存于数据库中的内容意义并不大,所以广泛应用于编程语言中,python中九含有与MySQL交互的模块 pymysql 编程对mysql的 ...

  4. 二十、Python与Mysql交互

    先安装一个python与MySQL交互的包:MySQL-python $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2. ...

  5. MySQL之Python与Mysql交互

    一:Python操作MySQL步骤 1:Python中操作MySQL的步骤 2.引入模块 在.py文件中引入pymysql模块 import pymysql pymysql是python的一个第三方与 ...

  6. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  7. Redis数据库的学习及与python的交互

    1. 数据库简介: 当前主要使用两种类型的数据库:关系型数据库(RDBMS).非关系型数据库(NoSQL); (1). 关系型数据库RDBMS: 是建立在关系模型基础上的数据库,借助于集合代数等数学概 ...

  8. python mysql中in参数化说明

    第一种:拼接字符串,可以解决问题,但是为了避免sql注入,不建议这样写 还是看看第二种:使用.format()函数,很多时候我都是使用这个函数来对sql参数化的 举个例子: select * from ...

  9. mysql交互协议解析——mysql包基础数据、mysql包基本格式

    mysql交互协议是开发mysql周边组件常用的协议,如JDBC,libmysql等等. 在此我们要认识到mysql交互协议其实是半双工的交互协议,至于为什么,这里就先挖个小坑,以后再填. 在探讨my ...

随机推荐

  1. pushd和popd

    [原文地址]   其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换.那时比较浮躁,感觉切换目录没必要这么复杂.在实际中,发现通过使用pushd和popd能够极大地提高 ...

  2. 前端 jquery获取当前页面的URL信息

    以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前U ...

  3. MySql的主从复制以及读写分离详解

    MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...

  4. LCA(Lowest Common Ancesor)

    LCA(Lowest Common Ancesor) 1.基于二分搜索算法 预处理father[v][k]表示v的2的k次方层祖先,时间复杂度是O(nlogn),每次查询的时间复杂度是O(logn), ...

  5. 洛谷试炼场 - 关卡2-1 - 简单的模拟 - (Done)

    最近这段时间感冒外加一些乱七八糟的事情,导致脑子严重僵化……只好刷刷基础(水)题巩固巩固基础(混混题数). 目录 P1003 铺地毯 P1067 多项式输出 P1540 机器翻译 P1056 排座椅 ...

  6. Codeforces 431C - k-Tree - [树形DP]

    题目链接:https://codeforces.com/problemset/problem/431/C 题意: 定义一个 $k$ 树,即所有节点都有 $k$ 个儿子节点,相应的这 $k$ 条边的权重 ...

  7. Django’s cache framework

    小结: 1.缓存存储位置:数据库.文件系统.内存 2.通过缓存前缀实现跨服务器缓存 Django’s cache framework | Django documentation | Django h ...

  8. Python脚本之安装linux源码包-Jenkins

    最近开始学Python,按照网上的教程,写了一个Python脚本下载Jenkins并运行的脚本,很简单. 首先使用vi命令编辑一个新文件auto_built_jenkins.py(关于vi的使用可以见 ...

  9. 20144306《网络对抗》MAL_恶意代码分析

    一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控? 使用Windows自带的schtasks指 ...

  10. C++11 std::call_once:保证函数在任何情况下只调用一次

    std::call_once的作用是很简单的, 就是保证函数或者一些代码段在并发或者多线程的情况下,始终只会被执行一次.比如一些init函数,多次调用可能导致各种奇怪问题. 给个例子: #includ ...