1 数据库类型

文件或简单的持久化存储:可以满足一些小应用的需求;

数据库系统:适用于大型服务器或高数据容量的应用;

混合类型:包括现有系统上的API、ORM、文件管理器、电子表格、配置文件等。

2 数据库和Python

访问数据库包括:

DB-API,即直接通过数据库接口访问;

使用ORM 访问,它不需要显式给出SQL 命令,但也能完成相同的任务。

应用与数据库的多层通信。第一个框一般是C/C++程序,而在Python 中应用程序使用DB-API 兼容的适配器。ORM 可以通过处理数据库具体细节来简化应用

3 Python 的DB-API

该API 为不同的关系数据库提供了一致性的接口,并且使不同数据库间移植代码变得更加简单,通常只需要修改几行代码即可。

3.1 DB-API模块属性

DB-API模块属性

3.2 Connection 对象

应用程序与数据库之间进行通信需要建立数据库连接。它是最基本的机制,只有通过数据库连接才能把命令传递到服务器,并得到返回的结果。

当一个连接(或一个连接池)建立后,可以创建一个游标,向数据库发送请求,然后从数据库中接收回应。

connection对象没有属性只有方法

connection对象的方法

3.3 Cursor 对象--游标

游标可以让用户提交数据库命令,并获得查询的结果行。Python DB-API 游标对象总能提供游标的功能,即使是那些不支持游标的数据库。

游标对象最重要的属性是execute()和fetch()方法,所有针对数据库的服务请求都是通过它们执行的。

arraysize 数据属性在为fetchmany()设置默认大小时非常有用。

当然,在不需要时关闭游标是个好主意, 而如果你的数据库支持存储过程,可能会用到callproc()。

Cursor 对象属性

3.4 数据库适配器的示例

3.4.1 安装 MySQL 适配器(MySQLdb模块)及mysql数据库

如果执行:

>>>import MySQLdb

提示没有MySQLdb模块,则需要安装。

这是ubantu安装MySQLdb的方法,执行命令:sudo apt-get install python-mysqldb(python-mysqldb即为 MySQL 适配器):

ubantu安装MySQLdb的命令

查看是否安装好,用pip list,列出所有已安装的程序:

Paste_Image.png

载入MySQLdb模块成功!

Paste_Image.png

Good!!

引入MySQLdb成功,通过python就可以对mysql数据库进行操作,详见http://www.jianshu.com/p/495891f00404

3.4.2 安装 sqlite3 适配器

方法很简单,在python中输入:

>>>import sqlite3

即可,但是如果没有安装sqlite数据库,仍需要先安装才行,具体方法见:http://www.jianshu.com/p/f0568f126153

安装好sqlite后,用python适配器sqlite3进行连接,并新建数据库。新建时,注意标明路径,按照书上做的不行:

Paste_Image.png

创建表user表:CREATE TABLE user(login VARCHAR(8),userid INTEGER)

Paste_Image.png

为user表格添加人员:

Paste_Image.png

查看user表;删除表;关闭游标;断开连接;

Paste_Image.png

python sqlite和mysql_python怎么与mysql、sqlite数据库通信——适配器:DB-API相关推荐

  1. python如何控制mysql_python如何操作mysql

    mysql 使用 启动服务 sudo systemctl start mysql pip3 install pymysql python 操作数据库: 定义类 import pymysql class ...

  2. python 增量备份mysql_Python 生产环境MySQL数据库增量备份脚本

    MySQL数据库常用的办法是通过MySQLdump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍文章介绍xtrabackup的热备工具,见 http://w ...

  3. python远程备份mysql_python远程备份mysql并压缩

    import os import time import tarfile import zipfile ''' mysqldump Usage: mysqldump [OPTIONS] databas ...

  4. python只能使用内置数据库_Python只能使用内置数据库SQLite,无法访问MS SQLServer、ACCESS或Oracle、MySQL等数据库...

    Python只能使用内置数据库SQLite,无法访问MS SQLServer.ACCESS或Oracle.MySQL等数据库 答:× 幼儿主动与外部环境相互作用的最重要的方式是 ( ). 答:活动 K ...

  5. python对sqlite增删改查_Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】...

    本文实例讲述了python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...

  6. c 连接 mysql 创建数据库_c sqlite创建数据库连接

    iOS开发之SQLite-C语言接口规范(一)--Ready And Open Your SQLite 为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况, ...

  7. ios php mysql数据库_IOS_iOS中SQLite使用教程,SQLite,是一款轻型的数据库, - phpStudy...

    iOS中SQLite使用教程 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中 ...

  8. 同时支持三个mysql+sqlite+pdo的php数据库类_同时支持三个MySQL+SQLite+PDO的PHP数据库类...

    PHP学习教程文章简介: 同时支持三个MySQL+SQLite+PDO的PHP数据库类使用方法: // mysql connect $db = new SQL(mysql:host=localhost ...

  9. python自带模块连接数据库_Python模块Sqlite数据库模块

    Python模块Sqlite数据库模块简介 从Python2.5以后的版本开始引入SQLite,属于Python内置模块,不需要额外安装.Sqlite以小巧快捷著称.SQLite第一个Alpha版本诞 ...

最新文章

  1. Windows用管理员方式启动cmd (全面)
  2. NP-Hard问题及组合最优化问题
  3. 数据结构:二分查找算法
  4. 深入理解javascript原型和闭包(1)——一切都是对象
  5. 为Activity设置特定权限才能启动
  6. mysql类exadata功能_查看Exadata的版本
  7. 网工解惑?什么是路由器、交换机与防火墙,他们的区别与联系是什么?
  8. MFC隐藏任务栏图标
  9. linux 系统的磁盘 mbr 转gpt方法
  10. Multi-Task Video Captioning with Video and Entailment Generation阅读笔记
  11. javascript——小方块运动
  12. 计算机网络专业运动会入场式,这所学校运动会开幕式亮了!各方阵带着专业C位亮相...
  13. java控制台存钱方法_JAVA实现账户取款和存款操作
  14. 人脸识别选这几家就对了!
  15. html5结合flash实现视频文件在所有主流浏览器兼容播放
  16. 数据结构与算法——栈和队列定义和特点
  17. 正则表达式 包含一些 但不包括 的命令
  18. 多路归并问题(多个有序表合为一个有序表)
  19. Java操作office 2007文档
  20. K60用IRA通过j-link下载失败,解决方法

热门文章

  1. [Node.js]回调函数
  2. 第八章 让开发板发出声音:蜂鸣器驱动读后感
  3. 升级失败?用TFTP修复Linksys无线路由器固件
  4. java设计模式 观察者模式_理解java设计模式之观察者模式
  5. python输出print(x+y)_Python语句序列“x='car';y=2; print(x+y)”的输出结果是_学小易找答案...
  6. 免费Windows系统服务器,免费试用人数太多,Windows 365云电脑服务器炸了,官方紧急暂停...
  7. linux命令作为子进程标记,Linux基础命令---显示进程ps
  8. php如何word转html格式文件,PHP将上传word文件,转化为Html格式,(多种转换方式)
  9. android studio 无线手机调试插件,Android Studio ADB Wifi 无线调试
  10. python开发应用程序错误怎么办_编程中遇到的Python错误和解决方法汇总整理