导读

数据库(DataBase):即存储数据的仓库。其数据是按一定的数据模型(结构)进行组织、描述和存储的结构化数据,其目的是最大限度的减少数据的冗余度。

数据表:是由行(Row)和列(Column)组成的表格,常用于定义(存放)有关联或某些同类型的数据。数据库是由众多的数据表和其它元素组成。

数据库管理系统:英文名(DataBase Management System),是一个用于管理数据库的系统(软件),用户通过它可以方便的定义数据、操作数据以及维护数据,其功能主要包括:

  • 数据定义功能:使用数据定义语言(Data Definition Language, DDL),可以生成和维护各种数据对象的定义。
  • 数据操作功能:通过数据操作语言(Data Manipulation Language, DML),可以对数据库进行查询、插入、修改和删除等基本操作。
  • 数据库管理和维护:提供数据库的安全性、完整性、并发性、备份和恢复等功能。

开发数据库互连:英文( Open DataBase Connectivity ,ODBC),是一套提供数据库连接(编程)的标准应用程序接口(API),通过它可以使得开发程序可以连接本地的数据库,以进行相关的操作。本节将以 SQLite3 为例讲解其执行过程。

SQLite 数据库

SQLite 数据库是一款开源的轻型的数据库,其占用资源非常低,被广泛应用于各种嵌入式设备中,当然 SQLite 还支持 Windows、Linux、Mac 等操作系统平台。

SQLite支持的数据类型包括:NULL、INTEGER、REAL、TEXT和BLOB,分别对应Python的数据类型:None、int、float、str 和 bytes 。【注:SQLite在执行中不对数据类型进行检查,例如将 int 类型数据插入到 str 类型中】

SQLite 数据库官网:http://www.sqlite.org

SQLite3 模块

SQLite3 模块,其功能就是为 Python 提供与本地 sqlite 数据库连接、操作的应用程序接口,通过 SQLite3 接口提供的方法,可以完成数据库连接、建库、建表、数据查询、插入数据、修改数据、更新数据和删除数据等操作。

Python 不仅提供了为 SQLite 数据连接的 SQLite3 模块,还提供了各种数据库的连接操作模块,具体如下表:

数据库 Python 操作模块 官方网址
SQLite SQLite3 http://www.sqlite.org
MySQL mysql-python http://sourceforge.net/projects/mysql-python
SQL Server pymssql http://pymssql.sourceforge.net/
Oracle DCOracle2 http://www.zope.org/Members/matt/dco2
PostgreSQL PyGreSQL http://www.pygresql.org/
IBM DB2 pydb2 http://sourceforge.net/projects/pydb2

下面将通过 SQLite3 模块演示 在 Python 下对 SQLite 数据库的基本操作,在实际演示前,先来认识 SQLite3 提供的常用方法、属性、基本的操作过程等知识点。

SQLite3 模块中,主要包含以下常用属性、方法、对象。更多可使用:dir"sqlite3" 语句查看。

sqlite3.version # 属性,SQLite版本号

sqlite3.connect # 方法,用于连接本地数据库

sqlite3.Connect # 对象,数据库连接对象

sqlite3.Cursor # 对象,游标对象

sqlite3.Row # 对象,行对象

SQLite3 操作数据库的基本过程:

第一步:导入模块

第二步:连接数据库(创建连接对象)

第三步:创建游标对象

第四步:使用游标对象函数(方法)传入SQL语句,执行具体操作

第五步:获取游标操作结果

第六步:数据库的提交和回滚

第七步:关闭游标对象和连接对象

其中,在完成第三步的创建游标对象后,其对象就提供了:

execute(sql,[parameters]) # 执行 SQL 语句,parameters为可选参数

executemany(sql, seq_of_parameters) # 根据参数执行多次 SQL 语句

executescript(sql, script) # 执行 SQL 脚本

这些操作方法,通过调用某种方法,并传入要执行的语句,就可以完成数据库的各种操作了。

创建数据库和数据表

最后修改:2022 年 06 月 07 日
如果觉得我的文章对你有用,请随意赞赏