SQLITE是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。 从Python2.5开始,SQLite3就成了Py的标准模块了,这也是Python中唯一一个数据库接口类模块,这大大方便了我们用SQLite开发小型数据库应用系统。 下面让我们一步步走进Python中的SQLite吧。 一,导入模块: import sqlite3 二,创建数据库/打开数据库: cx = sqlite3.connect("E:/test.db") 其实我们不需要显式的创建一个sqlite数据库,在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。这一点应用很好理解。 三,数据库连接对象: 打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:
四,游标的使用: 凡是对数据库有基本了解的朋友相信对前面三个都不用多说,一看就明白。下面着重阐述五cursor游标的使用。其实,所有sql语句的执行都要在游标对象下进行。 首先,定义一个游标: cu = cx.cursor()
下面就使用游标对我们上面建立的数据库作一些操作吧: 1,建表: cu.execute("""create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE)""") 上面语句创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的。 2,插入数据: cu.execute("insert into catalog values(0, 0, 'name1')") cu.execute("insert into catalog values(1, 0, 'hello')") 简单的插入两行数据,不过需要提醒的是,只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作. cx.commit() 3,查询: cu.execute("select * from catalog") 要提取查询到的数据,使用游标的fetch***函数,如: cu.fetchall() 返回结果如下: [(0, 0, u'name1'), (1, 0, u'hello')] 如果我们使用cu.fetchone(),则首先返回列表中的第一项,再次使用,则返回第二项,依次下去. 4,修改: cu.execute("update catalog set name='name2' where id = 0") cx.commit() 注意,修改数据以后提交 5,删除: cu.execute("delete from catalog where id = 1") cx.commit() 以上简单的操作反应的SQLite数据库操作的基本要点,这里点到为止.然后,SQLite的强大,并不仅限于此,其对SQL高级特性的支持及其小巧灵活的特点,使得SQLite在众多领域受到开发者的青睐. <完> |
|