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. 开发环境使用docker 快速启动 单机 RocketMq

    镜像说明 https://cr.console.aliyun.com/?spm=5176.2020520001.1001.8.kpaxIC&accounttraceid=176ddc4e-62 ...

  2. 域渗透之通过DCSync获取权限并制作黄金票据

    环境背景 账号: admin 没有域管权限 admin02 有域管权限 administrator 有域管权限 模拟渗透过程: 利用任意方法已经登录到client1(Windows 7),在clien ...

  3. CentOS7安装Go环境

    下载go(我的当前目录是/data/work)$wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz$tar -xvf ...

  4. 【CF666C】Codeword 结论题+暴力

    [CF666C]Codeword 题意:一开始有一个字符串s,有m个事件,每个事件形如: 1.用一个新的字符串t来替换s2.给出n,问有多少个长度为n的小写字母组成的字符串满足包含s作为其一个子序列? ...

  5. vue---computed计算属性的使用

    一直以来在使用vue的时候,会对vue的computed属性和watch属性具体的使用分不清楚,总算花点时间整理了下. computed:通常用于监控自己定义的变量,这个变量可以不再data中定义,直 ...

  6. springboot中Properties注解的实现

    关于@PropertySources注解的理解:http://www.imooc.com/article/252889?block_id=tuijian_wz public interface Pro ...

  7. poj3278_kuagnbin带你飞专题一

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88247   Accepted: 27640 ...

  8. axis2与cxf区别

    1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile.Axis2不支持WS-Policy,但是承诺在下面的版本支 ...

  9. 利用docker搭建ubuntu+nginx+PHP容器

      环境:操作系统(Ubuntu  16.04 64位); php7.1;  nginx/1.14.0   基础环境准备: 整体思路:docker pull一个ubuntu镜像,然后在容器中安装ngi ...

  10. MySQL数据库导出

    因为业务需要,把MySQL查询的数据导出成csv文件,操作在Navicat中完成. 首选用SELECT语句查询数据,然后Navicat的导出,然后选csv,选路径,再加上首栏就可以了