先安装一个python与MySQL交互的包:MySQL-python
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install
===========================================================================================================================
import MySQLdb
try:
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='py_s10',port=3306)
cur=conn.cursor() #指针(游标)
insert_data = "insert into students (name,sex,degree) values(%s,%s,%s,)" #插入数据保存在insert_data变量中,students表的结构为id, #name,sex,degree
cur.excute(insert_data,("jack",3,99)) #这里我执行插入数据操作
cur.execute('select * from students') #执行命令
print (cur.fetchone()) #取得一条数据(第一条)
print (cur.fetchall()) #取得所有数据
query_res = cur.fetchmany(4) #取得4条数据
conn.rollback() #我在提交之前回滚下,它的数据是提交不到数据库的
conn.commit() #提交到数据库,如果没有这条,只是写到了内存,没有真正写入数据库
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error msg:" ,e
 
 
一次性插入多条数据(谨慎操作):
import MySQLdb
try:
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='py_s10',port=3306)
cur=conn.cursor()
data_list = []
for i in range(10):
data_list.append(('rain_%s' % i,i,i))
insert_data = "insert into students (name,sex,degree) values(%s,%s,%s,)"
cur.excutemany(insert_data,data_list) #这里我就一次性插入了10条数据
cur.execute('select * from students')
cur.scroll(2,mode='ralative') #从现在的光标位置继续往下找
print (cur.fetchone())
print (query_res)
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error msg:" ,e
 
==============================================================================================================================
常用函数:
对事务操作的支持,标准的方法
commit() 提交
rollback() 回滚 #提交了之后就不能回滚了
 
 
cursor用来执行命令的方法:
callproc(self,procname,args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
excute(self,query,args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self,quiry,args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集
 
 
cursor用来接收返回值的方法:
fetchall(self):接收全部的返回结构行
fetchmany(self,size=None):接收size条返回结果行,如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据
fetchone(self):返回一条结果行
scroll(self,value,mode='relative'):移动指针到某一行,如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条(不常用)
 
 
 
 

二十、Python与Mysql交互的更多相关文章

  1. 二十. Python基础(20)--面向对象的基础

    二十. Python基础(20)--面向对象的基础 1 ● 类/对象/实例化 类:具有相同属性.和方法的一类人/事/物 对象(实例): 具体的某一个人/事/物 实例化: 用类创建对象的过程→类名(参数 ...

  2. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

  3. Python与Mysql交互

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

  4. MySQL之Python与Mysql交互

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

  5. python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

    前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...

  6. python与mysql交互中的各种坑

    开始学python 交互MySQLdb,踩了很多坑 第一个 %d format: a number is required, not str 参照以下博客: https://blog.csdn.net ...

  7. php分享二十八:mysql运行中的问题排查

    一:杀掉mysql连接的方法: kill thread_id:  杀掉当前进程,断开连接 kill query thread_id: 只杀掉某连接当前的SQL,而不断开连接. 批量杀死MySQL连接的 ...

  8. python3笔记二十四:Mysql数据库操作命令

    一:学习内容 Mysql操作命令:启动服务.停止服务.连接数据库.退出数据库.查看版本.显示当前时间.远程连接 数据库操作命令:创建数据库.删除数据库.切换数据库.查看当前选择的数据库 表操作命令:查 ...

  9. 二十八、MySQL 元数据

    MySQL 元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数. 数据库和数据表的信息: 包含了数据库及数据表的结构信息. M ...

随机推荐

  1. arduino雨滴传感器

    https://blog.csdn.net/yichu5074/article/details/81074055 功能介绍:接上5V电源,电源指示灯亮,感应板上没有水滴时,DO输出为高电平,开关指示灯 ...

  2. Large Margin Softmax Loss for Speaker Verification

    [INTERSPEECH 2019接收] 链接:https://arxiv.org/pdf/1904.03479.pdf 这篇文章在会议的speaker session中.本文主要讨论了说话人验证中的 ...

  3. 后来,我发现,要想用好WIMBuilder2你必须具有以下能力:

    后来,我发现,要想用好WIMBuilder2你必须具有以下能力:1.一定的中文语言阅读能力,两个帖子1500楼层中主要的功能要弄明白,包括wimbuilder2的架构.补丁的制作.2.一定的英文语言阅 ...

  4. [LeetCode] 266. Palindrome Permutation 回文全排列

    Given a string, determine if a permutation of the string could form a palindrome. Example 1: Input: ...

  5. 一次失败的尝试:arm(aarch64架构)上使用docker运行Gogs

    环境 Ubuntu aarch64(好像是arm8的一种) Docker安装指南:https://docs.docker.com/install/linux/docker-ce/ubuntu/ Gog ...

  6. luogu P5606 小 K 与毕业旅行 - 构造 - 多项式

    题目传送门 传送门 先考虑 $a_i > 0$ 的情况.考虑构造这样一个顺序:$a_i$ 要么和后面的数的乘积都大于 $w$ 要么都小于等于 $w$. 这个构造可以这样做: vector< ...

  7. 热情组——项目冲刺 Day6

    项目相关 作业相关 具体描述 班级 班级链接 作业要求 链接地址 团队名称 热情组 作业目标 实现软件制作,以及在福大的传播 Github链接 链接地址 SCRUM部分: 成员昵称 昨日目标 开始时间 ...

  8. Golang(十二)TLS 相关知识(三)理解并模拟简单代理

    0. 前言 前面的介绍我们理解了数字签名等知识,同时学习了 OpenSSL 生成私钥和证书并验证 之前提过我们基于 BitTorrent 协议开发了一个 docker 镜像分发加速插件 中间涉及到了配 ...

  9. 34,Leetcode 组合总和I,II -C++ 回溯法

    I 题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的数字可以无 ...

  10. sizeof()计算结构体的大小

    简要说明:结构体成员按照定义时的顺序依次存储在连续的内存空间,但是结构体的大小并不是简单的把所有成员大小相加,而是遵循一定的规则,需要考虑到系统在存储结构体变量时的地址对齐问题. 一.没有成员的结构体 ...