关系型数据库典型的数据结构是表,数据库是由二维表及其之间的联系所组成的一个数据组织。关系型数据库的优点体现在以下几个方面:
易于维护:都是使用表结构,格式一致。
使用方便:SQL语言通用,可用于复杂查询。
复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
不过关系型数据库也存在以下几个方面的缺点:
读写性能比较差,尤其是海量数据的高效率读写。
固定的表结构,灵活度稍微欠缺。
高并发读写需求,对传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
Python作为一种主流的编程语言,提供了对关系型数据库的支持。
SQLite 3可使用sqlite3模块与Python进行集成。sqlite3模块是由Gerhard Haring编写的。该模块提供了一个与PEP 249描述的DB-API 2.0规范兼容的SQL接口。用户不需要单独安装该模块,因为Python 3.x版本默认自带了该模块。
要使用数据库,首先需要连接到数据库。调用SQLite3的connect()方法即可连接到指定数据库,其语法格式如下:
sqlite3.connect(database [,timeout ,other optional arguments])
其中,参数database即为需要连接的目标数据库;参数timeout为指定超时设置;参数other optional arguments为其他参数设置。执行该方法将会连接到指定数据库,如果数据库不存在,就尝试创建一个。
以上代码调用connect()方法对指定数据库进行连接,并在成功连接后输出相应内容。将以上代码保存为3-13.py,执行以上代码,其结果将会如图3-13所示,并且会在当前目录下生成名为my_db.db的数据库文件。
表是构成数据库的基本单元,连接数据库之后,就需要在数据库中创建表。要创建表,首先需要调用connection对象的cursor()方法创建一个游标(cursor)对象。然后调用游标对象的execute()方法执行建表的语句,在数据库中创建表。该方法的语法格式如下:
cursor.execute(sql [, optional parameters])
以上代码调用cursor()方法创建一个游标,然后调用execute()方法执行创建表的SQL语句,最后调用commit()方法提交建表操作。执行以上代码将会在当前my_db.db数据库中创建一个名为USER的表。
成功创建表之后,就需要向表中插入数据。仍然是调用游标对象的execute()方法执行插入数据的SQL语句,并在执行之后调用commit()方法提交这些操作,就可以实现向表中插入数据。
以上代码通过execute()方法执行SQL语句向表中插入数据。
执行遍历表中所有信息的语句即可实现浏览表中记录的功能,同样是执行execute()方法,执行相应的SQL语句即可。
import sqlite3 as sql con=sql.connect("my_db.db") c=con.cursor() rows=c.execute("SELECT * FROM USER") for r in rows: print("ID = ", r[0]) print("NAME = ", r[1]) print("ADDRESS = ", r[2]) print("SALARY = ", r[3], "\n") con.close()
以上代码通过execute()方法执行遍历所有记录的SQL语句以执行浏览数据的操作,然后通过for遍历所有结果集,并将内容输出。
---------------------------------------------------------------------------------
学习更多专业Python知识,点此查看:
---------------------------------------------------------------------------------