Mysql 安装Python模块

 
Linux:
yum install MySQL-python

Windos:

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

MySQLdb

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

例子1:插入一条数据
import MySQLdb

# 创建链接实例对象
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb') # 选定光标
cur = conn.cursor() # 光标.execute 数据库执行命令
reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('alex','usa'))
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'}) # 提交
conn.commit() # 关闭光标
cur.close() # 关闭链接
conn.close() print(reCount)
例子2:批量插入数据
import MySQLdb

# 创建链接实例对象
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb') # 选定光标
cur = conn.cursor() # 创建values列表
li =[
('alex','usa'),
('sb','usa'),
] # 将列表传入到命令中 光标.executemany 自动将列表循环
reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li) # 提交命令
conn.commit() # 关闭光标
cur.close() # 关闭链接
conn.close() print(reCount)

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

例子2:字典类型打印

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql conn = pymysql.connect(host='192.168.1.154', port=3306, user='root', passwd='', db='xiang') # 游标设置为字典类型 cursor=pymysql.cursors.DictCursor
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 执行sql
r = cursor.execute("select * from xxx") # 获取第一行
result = cursor.fetchone() # 获取字典
print(result) # 提交事务
conn.commit() # 关闭游标
cursor.close() # 关闭链接
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. 【nginx】解决Nginx重启时提示nginx: [emerg] bind() to 0.0.0.0:80错误

    Nginx是一款轻量级的Web服务器,特点是占有内存少,并发能力强,因而使用比较广泛,蜗牛今天在一个VPS上重启Nginx时提示“nginx: [emerg] bind() to 0.0.0.0:80 ...

  2. Qt编写自定义控件8-动画按钮组控件

    前言 动画按钮组控件可以用来当做各种漂亮的导航条用,既可以设置成顶部底部+左侧右侧,还自带精美的滑动效果,还可以设置悬停滑动等各种颜色,原创作者雨田哥(QQ:3246214072),驰骋Qt控件界多年 ...

  3. 六、Sql Server 基础培训《进度6-更新删除(实际操作)》

    知识点: 假设,创建表test1,test2. drop table test1 create table test1 ( FID int identity(1,1), FBillNo varchar ...

  4. solr搜索分词优化

    solr服务器配置好在搜索时经常会搜出无关内容,把不该分的词给分了,导致客户找不到自己需要的内容,那么我们就从配置词典入手解决这个问题. 首先需要知道自带的词典含义: 停止词:停止词是无功能意义的词, ...

  5. 【CF613D】Kingdom and its Cities 虚树+树形DP

    [CF613D]Kingdom and its Cities 题意:给你一棵树,每次询问给出k个关键点,问做多干掉多少个非关键点才能使得所有关键点两两不连通. $n,\sum k\le 10^5$ 题 ...

  6. windows系统关闭某个端口的服务(以443端口为例子)

    1.查看443被什么服务占用 netstat -ano | findstr 443 查看到443端口被pid为5140的服务占用了 2.去到任务管理器->任务 找到PID为5140的服务,然后停 ...

  7. hibernate配置二级缓存

    ehcache.xml: < ?xml version=”1.0″ encoding=”UTF-8″?>< !– defaultCache节点为缺省的缓存策略 maxElements ...

  8. MyBatis映射配置文件详解

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-// ...

  9. HTML、CSS知识点,面试开发都会需要--No.3 盒子模型

    No.3 盒子模型 1.盒子模型属性 (1)包含的CSS属性:width.height.padding.border.margin. 1.盒子模型属性 (1)包含的CSS属性: width.heigh ...

  10. java动态加载配置文件(申明:来源于网络)

    java动态加载配置文件 地址:http://blog.csdn.net/longvs/article/details/9361449