通过文件操作可以实现简单的数据操作功能,如果要处理的数据量巨大,则需要将数据存储在数据库中。Python支持多种数据库。
本章主要介绍数据库概念以及结构化数据库查询语言SQL,分析并理解Python自带的轻量级关系数据库SQLlite的使用方法(同样用于MySQL数据库)
文章以附上软件压缩包,下载即可
一、数据库的概念
1.数据库(Database,简称DB),是存储数据的仓库,即存储在计算机系统中结构化的、可共享的相关数据的集合。DB中的数据按一定的数据模型组织、描述和存储,可以最大限度减少数据的冗余度。
2.数据库管理系统(Database Management System,简称DBMS),是用于管理数据的计算机软件。其主要功能为:
(1)数据定义功能:使用数据定义语言(DDL)可以生成和维护各种数据对象的定义。
(2)数据操作功能:使用数据定义语言(DDL)可以对数据库进行查询、插入、删除和修改等基本操作。
(3)数据库的管理和维护:数据库的安全性、完整性、并发性、备份和恢复等功能。
目前主要流行的数据库管理系统分为两类:
(1)适合于企业用户的网络版DBMS:例如 Oracle、Microsoft SQL Server、IBM DB2 等。
(2)适合于个人用户的桌面版DBMS:例如 Microsoft Access 等。
3.数据库系统(Database System,简称DBS),是指在计算机系统中引入数据库后组成的系统。数据库系统一般包括计算机硬件、操作系统、DBMS、开发工具、应用系统(DBAS)、数据库管理员(DBA)和用户等。
二、关系型数据库
常用关系型数据库包括:层次模型、网络模型、关系模型、面向对象的数据模型。
关系模型以及成为数据库的标准。目前流行的数据库管理系统(DBMS)都是基于关系模型的关系数据库管理系统。
1.关系数据库中常用术语
关系:是一种规范化了的二维表
属性:指二维表中的一列,在数据库中称为字段
元组:指二维表中的一行,在数据库中称为记录
域:属性的取值范围,即数据库中的某一列的取值范围
关键字:一组可以唯一标识元组的属性
2.关系模型认为世界由实体和联系构成
实体是相互可以区别、具有一定属性的对象。联系是指实体之间的关系,一般分为三种类型:
1、一对一的联系(1:1)
例如:班级和班长的关系
2、一对多的联系(1:n)
例如:学生和班级的关系
3、多对多的联系(n:n)
例如:学生和课程之间的关系
三、sqlite3模块和SQLite数据库简介
1.sqlite3模块
Python标准模块sqlite3是Python中唯一一个数据库接口类模块,使用C语言实现,提供了访问和操作数据库SQLite的各种功能,sqlite3模块主要包括下载常量、函数和对象。
(1)sqlite3.version:常量,版本号
(2)sqlite3.connect(database):函数,链接到数据库,返回 Connect 对象
(3)sqlite3.connect:数据库链接对象
(4)sqlite3.cursor:建立游标对象
(5)sqlite3.row:行对象
2.SQLite数据库
SQLite数据库是Python自带的、轻量级的嵌入式关系模型数据库。SQLite是用C语言编写的,提供了简单和易于使用的数据库接口(API)模块sqlite3。
四、访问数据库的步骤
使用sqlite3模块操作数据库的步骤:
1.导入sqlite3模块
>>> import sqlite3 #导入数据库模块
2.建立数据库链接,返回 Connection 对象
作用数据库模块的connect()函数建立数据库链接,返回链接对象 con
>>> con = sqlite3.connect(Connectstring) #链接到数据库,返回sqlite3.connection 对象
>>> #此处 con 为变量名,可以根据实际情况修改
>>> #connectstring是链接字符串,是数据库的文件名。如果指定的链接字符串为':memory:',则可以创建一个内存数据库
&nb