视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PythonSqlite3数据库相关操作
2020-11-09 11:48:34 责编:小采
文档


1、连接数据库: cx= sqlite3.connect(‘database.db’) ,cx是一个数据库连接对象,它有以下操作: commit()--事务提交 rollbac

1、连接数据库:

cx= sqlite3.connect(‘database.db’) ,cx是一个数据库连接对象,它有以下操作:

commit()--事务提交

rollback()--事务回滚

close()--关闭一个数据库连接

cursor()--创建一个游标


2、获得游标对象:

所有sql语句都要在游标对象下执行,用cu= cx.cursor()来定义了一个游标,游标对象有以下的操作:

execute()--执行sql语句

executemany--执行多条sql语句

close()--关闭游标

fetchone()--从结果中取一条记录

fetchmany()--从结果中取多条记录

fetchall()--从结果中取出多条记录

scroll()--游标滚动


3、sqlite3使用举例:

3.1、建表

cu.execute("""createtable catalog (

idinteger primary key,

pidinteger,

namevarchar(10) UNIQUE)""")

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

3.2、insert(插入)数据

>>>cu.execute("insert into catalog values(?,?,?)",(0, 0,'name1'))

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

>>>cx.commit()

如果你愿意,你可以一直使用cu游标对象。注意,对数据的修改必须要使用事务语句:commit()或rollback(),且对象是数据库连接对象,这里为cx。

3.3、select(选择)数据:

>>>cu.execute("select * from catalog;")

>>>cu.fetchall()

[(0,0, 'name2'), (1, 0, 'hello')]

fetchall()返回结果集中的全部数据,结果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。注意,游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意。

>>>cu.execute("select * from catalog where id = 1")

>>>cu.fetchone()

(1,0, 'hello')

对数据库没有修改的语句,执行后不需要再执行事务语句。

3.4、update(修改)数据:

>>>cu.execute("update catalog set where id =?",(1,))

>>>cx.commit()

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

>>>cu.fetchone()

(0,0, 'name2')

3.5、delete(删除)数据:

>>>cu.execute("delete from catalog where id = ?",(1,))

>>>cx.commit()

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

>>>cu.fetchall()

[(0,0, 'name2')]

下载本文
显示全文
专题