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. E - Stones 优先队列

    来源1896 Because of the wrong status of the bicycle, Sempr begin to walk east to west every morning an ...

  2. R 544

    F2: 什么dfs根本不会啊,只会瞎贪心... 我们考虑先连哪些边,对于u,v两个点,如果u,v所在的联通块都与1相连的话,那我们肯定先不连这种边吧. 因为太亏了啊... 总而言之我们要在不影响答案的 ...

  3. CXF整合Sping与Web容器

    1.创建HelloWorld 接口类 package com.googlecode.garbagecan.cxfstudy.helloworld; import javax.jws.WebMethod ...

  4. ubuntu apt 软件源的更改

    在ubuntu上面安装软件一般都使用 apt安装 在ubuntu下面有一个源列表,源列表里面都是一些网站信息,每条网址就是一个源,这个地址指向的数据标识着这台服务器上有哪些软件可以用 编辑源命令: s ...

  5. 11.vue 数据交互

    vue new Vue({ el,选择器 string/obj 不能选择html/body data, methods, template string/obj //生命周期 -- 虚拟DOM 1.初 ...

  6. java学习之路--String类的基本方法

    String类常见的功能 获取 1.1 字符串中包含的字符数,也就是获取字符串的长度:int length(); 1.2 根据位置获取某个位置上的字符:char charAt(int index) 1 ...

  7. StreamSocket

    转载自:http://blog.csdn.net/yuanguozhengjust/article/details/19175085 StreamSocket的基本流程和一般的Socket通信操作类似 ...

  8. Navicat导入sql server数据库

    1.新建连接 2. EXEC sp_attach_db @dbname = 'demo',   (数据库的名字) @filename1 = 'G:\C#\超市管理系统\DB\CSGL.mdf', @f ...

  9. PHP(基础语法:执行原理)

    控制语句for循环 for(var i=0:i<0;++i){ }(基础语法):执行原理for:用在已知数量的情况下(循环次数)while:循环次数不确定(满足某个条件退出循环) 死循环:没有结 ...

  10. Python学习之旅(一)

    Python的简介 Python是一种面向对象的.动态的脚本语言,可用来设计网页和开发后台功能.其创始人Guido van Rossum于1989年圣诞节期间创造了这门语言. (图片来自百度) Pyt ...