Python使用内生的Sqlite3进行数据库编程

一,Python SQLITE数据库导入模块:

  1. import sqlite3 

二,创建数据库/打开数据库:

  1. cx = sqlite3.connect("E:/test.db") 

注意此处路径中要用反斜线\

其实我们不需要显式的创建一个sqlite数据库,在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。这一点应用很好理解。

三,数据库连接对象:

打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:

  1. commit()--事务提交   
  2. rollback()--事务回滚   
  3. close()--关闭一个数据库连接   
  4. cursor()--创建一个游标 

四,Python SQLITE数据库游标的使用:

凡是对数据库有基本了解的朋友相信对前面三个都不用多说,一看就明白。下面着重阐述五cursor游标的使用。其实,所有sql语句的执行都要在游标对象下进行。

首先,定义一个游标:

  1. cu = cx.cursor() 

这样定义了一个游标。游标对象有以下的操作:

  1. execute()--执行sql语句   
  2. executemany--执行多条sql语句   
  3. close()--关闭游标   
  4. fetchone()--从结果中取一条记录,并将游标指向下一条记录   
  5. fetchmany()--从结果中取多条记录   
  6. fetchall()--从结果中取出所有记录   
  7. scroll()--游标滚动 

下面就使用Python SQLITE数据库中游标对我们上面建立的数据库作一些操作吧:

1,建表:

  1. cu.execute("""create table catalog (id integer primary key, pid integer,name varchar(10) UNIQUE)""") 

上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的。

2,插入数据:  

  1. cu.execute("insert into catalog values(0, 0, 'name1')")  
  2. cu.execute("insert into catalog values(1, 0, 'hello')") 

简单的插入两行数据,不过需要提醒的是,只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作.  

  1. cx.commit() 

3,查询:  

  1. cu.execute("select * from catalog") 

要提取查询到的数据,使用游标的fetch***函数,如:  

  1. cu.fetchall() 

返回结果如下:  

  1. [(0, 0, u'name1'), (1, 0, u'hello')] 

如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去.

4,修改:  

  1. cu.execute("update catalog set name='name2' where id = 0")  
  2. cx.commit() 

注意,修改数据以后提交

5,删除:  

  1. cu.execute("delete from catalog where id = 1")  
  2. cx.commit() 
posted @ 2013-08-29 17:44  CoolRandy  阅读(151)  评论(0)    收藏  举报