嵌入式数据库,一个数据库就是一个文件。体积小,常集成到应用程序或手机 APP 中。
Python 内置。
资料:http://www.runoob.com/sqlite/sqlite-python.html
常用方法
import sqlite3
conn = sqlite3.connect('test.db') # Connection object, created immediately
c = conn.cursor() # Cursor object
c.execute('''create table user
(id int primary key not null,
name text not null)''') # Cursor object, created immediately
c.execute("insert into user (id, name) values (1, 'aa')")
c.execute("insert into user (id, name) values (2, 'bb')")
c.execute('select * from user where id=?', (1,))
v = c.fetchall() # 返回一个列表 [(1, 'aa')],一个元素就是一条记录
c.execute("update user set name=? where id=?", ('bbb', 2))
c.execute("delete from user where id=?", (1,))
c.close()
conn.commit() # execute 操作写入数据库
conn.close()
小技巧
很多时候程序需要重复运行调试,如果代码写得不好,有可能会重复创建表而导致报错,或重复插入导致主键重复而报错。解决方案如下:
create table if not exists mytable (field0 int, field1 varchar(20))
insert or ignore into mytable (field0, field1) values (value0, value1)
insert or replace into mytable (field0, field1) values (value2, value3)
由于没有指定 primary key 时,会自动创建 _id,所以判断记录相等时,如果没有指定 primary key,此时可以类似这样做:unique (host, port) 。
网友评论