python 操作sqlite_Python 操作SQLite数据库
1.导入Python SQLITE数据库模块
语法:import sqlite3
2. 创建/打开数据库
在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。
语法:cx=sqlite3.connect("E:/test.db")
也可以创建数据库在内存中。
语法:con=sqlite3.connect(":memory:")
3.数据库连接对象
打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:
commit()--事务提交
rollback()--事务回滚
close()--关闭一个数据库连接
cursor()--创建一个游标
4.使用游标查询数据库
我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。
cu=cx.cursor()
游标对象有以下的操作:
execute()--执行sql语句
executemany--执行多条sql语句
close()--关闭游标
fetchone()--从结果中取一条记录,并将游标指向下一条记录
fetchmany()--从结果中取多条记录
fetchall()--从结果中取出所有记录
scroll()--游标滚动
建表:cu.execute("create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE,nickname text NULL)")
创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。
插入数据:
for t in [(0,10,abc,Yu),(1,20,cba,Xu)]:
cu.execute("insert into catalog values (?,?,?,?)", t)
cx.commit()
提醒:插入数据后,一定要提交后才能生效。
查询:
cu.execute("select * from catalog")
要提取查询到的数据,使用游标的fetch函数,如:
cu.fetchall()
修改:
cu.execute("update catalog set name=Boy where id = 0")
cx.commit()
删除:
cu.execute("delete from catalog where id = 1")
cx.commit()
1.导入Python SQLITE数据库模块 语法:import sqlite3 2. 创建/打开数据库 在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。 语法:cx=sqlite3.connect("E:/test.db") 也可以创建数据库在内存中。 语法:con=sqlite3.connect(":memory:") 3.数据库连接对象 打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作: commit()--事务提交 rollback()--事务回滚 close()--关闭一个数据库连接 cursor()--创建一个游标 4.使用游标查询数据库 我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。 cu=cx.cursor() 游标对象有以下的操作: execute()--执行sql语句 executemany--执行多条sql语句 close()--关闭游标 fetchone()--从结果中取一条记录,并将游标指向下一条记录 fetchmany()--从结果中取多条记录 fetchall()--从结果中取出所有记录 scroll()--游标滚动 建表:cu.execute("create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE,nickname text NULL)") 创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。 插入数据: for t in [(0,10,abc,Yu),(1,20,cba,Xu)]: cu.execute("insert into catalog values (?,?,?,?)", t) cx.commit() 提醒:插入数据后,一定要提交后才能生效。 查询: cu.execute("select * from catalog") 要提取查询到的数据,使用游标的fetch函数,如: cu.fetchall() 修改: cu.execute("update catalog set name=Boy where id = 0") cx.commit() 删除: cu.execute("delete from catalog where id = 1") cx.commit()