一:Python操作数据库的流程

二:开发环境准备

1:开发工具PyCharm

2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sourceforge.net/projects/mysql-python/ ,下载完成后点击启动安装即可。

3:数据库桌面工具:SQLYog

三:Python操作数据库的两大对象之数据库连接对象——Connection

connection主要用于建立Python与数据库之间的网络连接。

创建方法:MySQLdb.Connect(参数)

参数列表主要有:

数据库连接对象常用方法:

测试:

import MySQLdb

conn = MySQLdb.connect(host="127.0.0.1",port=3306,user="root",passwd='root',db='testpython',charset='utf8')
cur=conn.cursor() print conn
print cur cur.close()
conn.close() 结果:
<_mysql.connection open to '127.0.0.1' at 2a449b8>
<MySQLdb.cursors.Cursor object at 0x02AE8A10>

四:Python操作数据库的两大对象之数据库连接对象——Cursor

游标对象Cursor,用于执行具体的数据库操作语句以及获取结果。

cursor支持以下方法调用:

三个fetchXX方法,可以对 execute方法执行的结果进行遍历;rowcount方法可以获取execute方法对数据库操作的记录行数。

五:增删查改操作

查:主要使用execute()/fetchXX语句;

增、改、删:需要关闭自动提交事务(MySQLdb模块默认关闭了自动提交)、使用execute()语句执行操作、捕捉异常进行回滚/执行完毕提交事务

import MySQLdb

#1:创建数据库连接
conn = MySQLdb.connect(host="127.0.0.1",port=3306,user="root",passwd='root',db='testpython',charset='utf8')
#2:创建cursor
cur=conn.cursor() #3:使用cursor执行查询
cur.execute("select * from test")
first=cur.fetchone()
print first #4:在try-except语句块中执行增、删、改操作
try:
cur.execute("insert into test(say) VALUES ('the first content')")
print cur.rowcount cur.execute("update test set say='I have been updated' where id = 1")
print cur.rowcount cur.execute("select * from test")
all = cur.fetchall()
print all cur.execute("delete from test where id = 1")
print cur.rowcount cur.execute("select * from test")
all = cur.fetchall()
print all
#5:提交事务
conn.commit()
except Exception:
#6:捕捉异常进行回滚
conn.rollback()
finally:
#7:关闭cursor和connection
cur.close()
conn.close()

Python学习笔记六:数据库操作的更多相关文章

  1. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  2. Python学习笔记六

    Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...

  3. Python学习笔记 使用数据库SQlite Mysql

    SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用当中, 甚至在IOS和Android的APP中都可以集成 Python就内 ...

  4. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  5. Python学习笔记_03:简单操作MongoDB数据库

    目录 1. 插入文档 2. 查询文档 3. 更新文档 4. 删除文档   1. 插入文档 # -*- coding: UTF-8 -*- import datetime from pymongo im ...

  6. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

  7. Symfony2学习笔记之数据库操作

    数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标 ...

  8. python学习笔记---文件的操作

    数据的保存: 1.内存:常用的变量2.文件:文本内容,二进制的文件内容3.数据库: 读文件:1.要读取的文件路径一定要存在.2.打开存在的文件:open函数    参数1:文件的路径,相对的或者是绝对 ...

  9. python学习笔记——mongodb数据库

    1 概述 1.1 文件管理阶段 优点:可以长期保存 能存储大量数据 缺点:没有结构化的组织 查找不方便 数据容易冗余 1.2 数据库管理阶段 有文件存储的优点,同时解决了文件存储的问题 缺点 : 操作 ...

随机推荐

  1. 真爱如血第一季/全集True Blood迅雷下载

    第一季 True Blood Season 1 (2008)看点:该剧根据小说<南方吸血鬼>(Southern Vampire)改编,故事围绕路易斯安那州的吸血鬼和人类展开,当日本将人造血 ...

  2. 详细解读DiskLruCache

    DiskLruCache这个类我记忆中是来自Google的一个开源项目,叫做BitmapFun,目的是更方便的加载bitmap.项目的源码:https://developer.android.com/ ...

  3. Oracle行列转换小结

    目录结构如下:行转列列转行[一].行转列 1.1.初始测试数据 表结构:TEST_TB_GRADE Sql代码 create table TEST_TB_GRADE (   ID        NUM ...

  4. Kubernetes基础:Pod的详细介绍

    本文的演练环境为基于Virtualbox搭建的Kubernetes集群,具体搭建步骤可以参考kubeadm安装kubernetes V1.11.1 集群 1. 基本概念 1.1 Pod是什么 Pod是 ...

  5. Svg.Js 父类的基础操作

    一.SVG.Doc 创建SVG文档 var draw = SVG('drawing') <div id="svg1"></div> <script&g ...

  6. java的mock测试框架

    无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...

  7. LaTeX技巧:LaTeX括号总结

    功能 语法 显示 不好看     ( \frac{1}{2} ) 好一点 \left( \frac{1}{2} \right) 您可以使用\left和\right来显示不同的括号: 功能 语法 显示 ...

  8. UML类图和时序图

    这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图所表达的含义和最终的代码 ...

  9. 【转】memcached分布式部署

    FROM : http://www.tuicool.com/articles/777nE3j memcache和memcached两者使用起来几乎一模一样. $mem = new Memcache; ...

  10. 【BZOJ】【4145】【AMPPZ2014】The Prices

    状压DP/01背包 Orz Gromah 容易发现m的范围很小……只有16,那么就可以状压,用一个二进制数来表示买了的物品的集合. 一种简单直接的想法是:令$f[i][j]$表示前$i$个商店买了状态 ...