pyrhon SQLite数据库
发布时间:2020-12-12 19:01:23 所属栏目:百科 来源:网络整理
导读:? pyrhon SQLite数据库 目录 介绍导入模块创建数据库/打开数据库创建表在表中插入行查询/修改删除表中的行删除表 ? ? ? 介绍 Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一
? pyrhon SQLite数据库目录 介绍 导入模块 创建数据库/打开数据库 创建表 在表中插入行 查询/修改 删除表中的行 删除表 ? ? ? 介绍Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数
? # 它有以下特点: # 轻量级 # 速度快 # 无需部署 # 没有服务器 # 很少或不需要进行管理 # SQLite正在迅速流行起来,并且它还适用于不同的平台。Python 2.5中引入了SQLite数据库适配器作为sqlite3模块,这是Python首次将数据库适配器纳入到标准库中。 # SQLite被打包到Python的标准库中,并不是因为它比其他数据库和适配器更加流行,而是因为它足够简单,像DBM模块一样使用文件(或内存)作为其后端存储,不需要服务器,也没有许可证的问题。它是Python中其他类似的
? #python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上都是下面几步(假设数据库模块名为db): # 1. 用db.connect创建数据库连接,假设连接对象为conn # 2. 如果该数据库操作不需要返回结果,就直接用conn.execute查询,根据数据库事务隔离级别的不同,可能修改数据库需要conn.commit # 3. 如果需要返回查询结果则用conn.cursor创建游标对象cur,通过cur.execute查询数据库,用cur.fetchall/cur.fetchone/cur.fetchmany返回查询结果。根据数据库事 务隔离级别的不同,可能修改数据库需要conn ? ? ? ? 导入模块import sqlite3 ? ? 创建数据库/打开数据库#如果已经有这个数据库,直接打开数据库 #没有的话,则创建一个数据库 sqlite3.connect(‘数据库的路径‘)
# 例子; cx = sqlite3.connect("test.db") # 返回一个数据库连接对象 # 它可以有以下操作: # commit()--事务提交 rollback()--事务回滚 close()--关闭一个数据库连接 cursor()--创建一个游标 ? ? # Python SQLITE数据库游标的使用: # # 游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联。因为游标由结果集(可以是零条、
? # 首先,定义一个游标: # 获取到游标对象 cu = cx.cursor() #这样定义了一个游标。游标对象有以下的操作: # execute()--执行sql语句
? 关于SQL语法知识 http://www.w3school.com.cn/sql/index.asp ? 创建表cu.execute("""create table if not exists %s( %s integer primary key autoincrement,%s varchar(128))""" % (‘user‘,‘id‘,‘name‘)) # 上面语句创建了一个叫user的表,它有一个主键id,一个name列,name是不可以重复的。
? ? ? 在表中插入行?我们插入两行数据 cu.execute("insert into user values(0,‘name1‘)") cu.execute("insert into user values(1,‘name2‘)") cx.commit() # 简单的插入两行数据,不过需要提醒的是,最后只有提交了之后,才能生效.我们使用数据库连接对象cx来进行提交commit和回滚rollback操作.
? ? 查询修改? 查询cu.execute("select * from user") #获得所有结果 # print(cu.fetchone()) print(cu.execute(‘select * from user where id =1‘).fetchall()) ?
[(0,‘name3‘),(1,‘name2‘)]
? ?修改cu.execute("update user set name=‘name3‘ where id = 0") cu.execute("select * from user") print(cu.fetchall()) ? [(0,‘name2‘)]
? 删除表中的行#删除某行 cu.execute("DELETE FROM user WHERE id = ‘0‘") cu.execute("select * from user") print(cu.fetchall()) #删除所有行 cu.execute("DELETE FROM user") cu.execute("select * from user") print(cu.fetchall())
[(1,‘name2‘)] [] ? ? ? 删除表cu.execute("DROP TABLE user")#语法DROP TABLE 表名 cu.close() #关闭游标cx.close() #关闭数据库 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |