Python-使用Sqlite

内嵌式数据库sqlite想必大家都听说过,Python内置了sqlite模块,提供了访问sqlite的统一标准。不同的Python版本带的sqlite版本不大一样,如果机器在Python环境中找不到sqlite3,则尝试导入sqlite2或sqlite模块试试。

 

我用到的机器安装的是Python 2.4.3 (#1, Jun 11 2009, 14:09:37),只能导入sqlite模块,使用方法上没有什么区别的。

 

以创建一张表,执行插入、查询、更新、删除为例,基本步骤如下:

 

1)创建数据库连接,如果aa.db文件不存在,则会自动新创建一个

 

conn = sqlite.connect('/home/admin/aa.db')

2)获取游标

 

cursor = conn.cursor()

3)创建表

 

cursor.execute("create table if not exists order_log(id integer primary key autoincrement, itemId varchar(20), orderId varchar(40),errorCode varchar(100))")

4)插入数据

 

cursor.execute('''insert into order_log values(null, '123456','2019888299934384','DUPLICATE ORDER')''')
cursor.execute('''insert into order_log values(null, '123457','2019888299934385','SESSION INVALIDA')''')

5)查询数据 

 

cursor.execute('select * from order_log')
result = cursor.fetchall()
print result
-------------
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER'), (2, '123457', '2019888299934385', 'SESSION INVALIDA')]

6)更新数据 

 

cursor.execute("update order_log set itemId='888999' where id = 2")
#查询结果
----------------
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER'), (2, '888999', '2019888299934385', 'SESSION INVALIDA')]

 7)删除数据

 

cursor.execute('delete from order_log where id=2')  
#查询数据  
-----------  
[(1, '123456', '2019888299934384', 'DUPLICATE ORDER')]  

cursor.execute('delete from order_log')  
#查询数据 
-----------
[]
 

8)关闭数据库

cursor.close()
conn.close()
 

9)其它

#连接内存数据库
conn = sqlite.connect(':memory')

#事务回滚
conn.rollback()
 

 

 

 

 

 

 

 

 

你可能感兴趣的:(python)