Python同关系型数据库进行交互操作
-
1、前言:
本文主要是解決Python在关系型数据库中进行创建、选择、插入行数据。
在Python中,表达行数据的标准方式采用元组序列,如下:
>>>Soc = [ ( 12,’GHP’, 164.2)
(15,’WCG’, 123.1)
(16,’OGN’, 891.1)
(21,’LPP’, 564.4) ]
当数据以这种形式呈现时,通过Python标准的数据库API来同关系型数据库进行交互相对来说就显得比较直接了。现在我们使用Python自带的sqlite3模块,对这个问题进行说明。
2.1、连接数据库:
第一步是连接数据库。一般来说,需要调用一个connect()函数,提供类似数据库的名称,主机名,用户名,密码等这样一些参数。示例如下:
>>> import sqlite3
>>> db = sqlite3.connect(‘database.db’)2.2、操作数据库
要操作数据,下一步就要创建一个游标(cursor),一旦有了游标就可以使用SQL语言进行查询了,下面我们先创建一个表,示例如下:
>>>c = db.cursor()
>>>c.execute(‘create table product(ID integer, symbol text, price real)’)
>>>db.commit
2.2.1、插入数据
插入数据可以采用如下语句:
>>>c.execute(‘insert into product values(.. , .. , ..)’,Soc)
>>>db.commit
2.2.2、查询数据
执行查询操作,可以使用下面的语句:
>>> for row in db.execute(‘select * from product’):
….
Print(row)
( 12,’GHP’, 164.2)
(15,’WCG’, 123.1)
(16,’OGN’, 891.1)
(21,’LPP’, 564.4)3、结语:
以上为Python在数据库中进行创建,插入,选择等应用。从上面来看,同数据库的交互是一件非常直截了断的事。只要组成SQL语句然后传给底层就可以更新数据了。尽管如此,上面还存在一些比较复杂的问题需要考虑,如:Python中的数据类型和数据库中数据类型如何进行一一对应。确切的映射关系会因数据库后端的不同而有所区别,因此必须去阅读相关文档,在此就不再细谈。