<p>关系型数据库典型的数据结构是表,数据库是由二维表及其之间的联系所组成的一个数据组织。关系型数据库的优点体现在以下几个方面:</p><p>易于维护:都是使用表结构,格式一致。</p><p>使用方便:SQL语言通用,可用于复杂查询。</p><p>复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。</p><p>不过关系型数据库也存在以下几个方面的缺点:</p><p>读写性能比较差,尤其是海量数据的高效率读写。</p><p>固定的表结构,灵活度稍微欠缺。</p><p>高并发读写需求,对传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。</p><p>Python作为一种主流的编程语言,提供了对关系型数据库的支持。</p><p>SQLite 3可使用sqlite3模块与Python进行集成。sqlite3模块是由Gerhard Haring编写的。该模块提供了一个与PEP 249描述的DB-API 2.0规范兼容的SQL接口。用户不需要单独安装该模块,因为Python 3.x版本默认自带了该模块。</p><p>要使用数据库,首先需要连接到数据库。调用SQLite3的connect()方法即可连接到指定数据库,其语法格式如下:</p><pre class="brush:as3;toolbar:false"> sqlite3.connect(database [,timeout ,other optional arguments])</pre><p>其中,参数database即为需要连接的目标数据库;参数timeout为指定超时设置;参数other optional arguments为其他参数设置。执行该方法将会连接到指定数据库,如果数据库不存在,就尝试创建一个。</p><p><img src="/uploads/images/20231204/307b38b8fa2e9dc2d2d0b2247c88fd48.png" title="1.png" alt=""/></p><p>以上代码调用connect()方法对指定数据库进行连接,并在成功连接后输出相应内容。将以上代码保存为3-13.py,执行以上代码,其结果将会如图3-13所示,并且会在当前目录下生成名为my_db.db的数据库文件。</p><p>表是构成数据库的基本单元,连接数据库之后,就需要在数据库中创建表。要创建表,首先需要调用connection对象的cursor()方法创建一个游标(cursor)对象。然后调用游标对象的execute()方法执行建表的语句,在数据库中创建表。该方法的语法格式如下:</p><pre class="brush:as3;toolbar:false"> cursor.execute(sql [, optional parameters])</pre><p><img src="/uploads/images/20231205/c25485e30276496850ac2004b7bb0025.png" title="1.png" alt="" width="940" height="273"/></p><p>以上代码调用cursor()方法创建一个游标,然后调用execute()方法执行创建表的SQL语句,最后调用commit()方法提交建表操作。执行以上代码将会在当前my_db.db数据库中创建一个名为USER的表。</p><p>成功创建表之后,就需要向表中插入数据。仍然是调用游标对象的execute()方法执行插入数据的SQL语句,并在执行之后调用commit()方法提交这些操作,就可以实现向表中插入数据。</p><p><img src="/uploads/images/20231205/d2c346fc0ac84a16c400e3c7a82c2cd4.png" title="1.png" alt="" width="928" height="293"/></p><p>以上代码通过execute()方法执行SQL语句向表中插入数据。</p><p>执行遍历表中所有信息的语句即可实现浏览表中记录的功能,同样是执行execute()方法,执行相应的SQL语句即可。</p><pre class="brush:as3;toolbar:false"> 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()</pre><p>以上代码通过execute()方法执行遍历所有记录的SQL语句以执行浏览数据的操作,然后通过for遍历所有结果集,并将内容输出。</p><p style="text-wrap: wrap;"><span style="text-wrap: nowrap;">---------------------------------------------------------------------------------</span></p><p style="text-wrap: wrap;"><span style="text-wrap: nowrap;">学习更多专业Python知识,点此查看:</span></p><p style="text-wrap: wrap;"><a href="https://www.maxiaoke.com/manual/py_ssz.html" target="_self"><span style="text-wrap: nowrap;">《剑指Python-上》</span></a><span style="text-wrap: nowrap;"> </span><a href="https://www.maxiaoke.com/manual/jz_pys_2.html" target="_self"><span style="text-wrap: nowrap;">《剑指Python-下》</span></a></p><p style="text-wrap: wrap;"><img src="https://www.maxiaoke.com/uploads/images/20231204/a64aeb23219a212638811c5bd0f355b0.png" title="py小册封面.png" alt=""/></p><p style="text-wrap: wrap;"><span style="text-wrap: nowrap;">---------------------------------------------------------------------------------</span></p><p><br/></p>