一: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. appstore防代充的一些想法

    点击这里可以查看代充相关的报道, 利用苹果商店规则漏洞,出现了一个灰色地下产业链>> 用户点击选择要充值的物品时,先向后台服务器发起一个创建订单号的请求,然后再向appstore发起购买商 ...

  2. CCLabelAtlas的宽度为奇数时的显示bug

    遇到一个很郁闷的bug,CCLabelAtlas设置文字内容在ipad上和android上正常,就只有iphone怎么显示都不正常.后来把它宽度 + 1,然后就正常了.发现以前宽度设置为21px.23 ...

  3. SQL Server中取汉字拼音的函数

    ))     ) )     )          )         ),   py          end     return @pinyin END GOSELECT dbo.fn_GetP ...

  4. 在IIS上SSL的部署和启动SSL安全【转】

    在这次的项目中遇见了这个问题,之前我并懂了不了多少,只对了SSL和HTTPS理论了解.但并不知道在实际中如何运行.经过自己在网上查阅一番,最后靠自己解决了这个问题,现在在这里和大家分享一下.如果写的有 ...

  5. Tomcat6和Tomcat7配置SSL通信的比较

    <Tomcat6和Tomcat7配置SSL通信的比较> 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 在项目开发过程中,尝尝会遇到Tomc ...

  6. easyui基于web的打印实现 .

    <%@ page language="java"pageEncoding="UTF-8"%> <object id="WebBrow ...

  7. [leetcode]Maximum Subarray @ Python

    原题地址:https://oj.leetcode.com/problems/maximum-subarray/ 题意: Find the contiguous subarray within an a ...

  8. [leetcode]Spiral Matrix @ Python

    原题地址:https://oj.leetcode.com/problems/spiral-matrix/ 题意: Given a matrix of m x n elements (m rows, n ...

  9. ARDC Android 远程桌面助手 录屏 演示 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. RV LayoutManager 流式布局 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...