Python-数据库SQLite 游标
来源:互联网 发布:淘宝达人怎么升级到v2 编辑:程序博客网 时间:2024/06/16 16:25
SQLite 是一种嵌入式数据库,它的数据库就是一个文件。Python 内置了SQLite3,所以,可以直接使用。
使用SQLite,介绍几个概念:
1. 表: 是数据库中存放关系数据的集合。表与表之间通过外键关联。
操作关系数据库必须执行以下几个步骤:
1. 连接到数据库,一个数据库连接称为connection;
2.连接到数据库后,需要打开游标,称为cursor,通过cursor 执行SQL语句,然后或得执行结果。
Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。
由于SQLite的驱动内置在Python标准库中,所以我们可以直接来操作SQLite数据库。
import sqlite3conn=sqlite3.connect('test.db')//连接到SQLite3 数据库 数据库文件是test.dbcursor=conn.cursor()//创建一个cursorcursor.execute('create table user1 (id varchar(20) primary key, name varchar(20))')//创建表cursor.execute('insert into user (id,name)values(\'1\',\'micha\')')//插入记录cursor.rowcount 通过rowcount 获得插入的行数cursor.close()conn.commit()conn.close()
查询记录:
conn=sqlite3.connect('test.db')cursor=conn.cursor()cursor.execute('select * from user where id=?',('1',))values=cursor.fetchall()print valuescursor.close()conn.close()结果:
[(u'1', u'micha')]
使用Python的DB-API时,只要搞清楚Connection
和Cursor
对象,打开后一定记得关闭,就可以放心地使用。
使用Cursor
对象执行insert
,update
,delete
语句时,执行结果由rowcount
返回影响的行数,就可以拿到执行结果。
使用Cursor
对象执行select
语句时,通过featchall()
可以拿到结果集。结果集是一个list,每个元素都是一个tuple,对应一行记录。
execute()
方法,有几个?
占位符就必须对应几个参数,例如cursor.execute('select * from user where name=? and pwd=?', ('abc', 'password'))
总结:
在Python中操作数据库时,要先导入数据库对应的驱动,然后,通过Connection
对象和Cursor
对象操作数据。
要确保打开的Connection
对象和Cursor
对象都正确地被关闭,否则,资源就会泄露。
如何:确保出错的情况下关闭掉关闭掉connection 对象和cursor 对象。
import sqlite3conn=sqlite3.connect('test.db')cursor=conn.cursor()sql1='create table user1 (id varchar(20) primary key, name varchar(20))'cursor.execute('insert into user (id,name)values(\'1\',\'micha\')')cursor.rowcounttry: conn.execute(sql1) resut=conn.fetchall() print ('result') conn.close() conn.commit()except Exception as e: raise efinally: conn.close()
阅读全文
0 0
- Python-数据库SQLite 游标
- Python-数据库游标对象详解
- Python-数据库游标对象详解
- python 访问 sqlite 数据库
- python 访问 sqlite 数据库
- python SQlite数据库操作
- python查询sqlite数据库
- Python 操作SQLite数据库
- python数据库SQLite
- Python操作SQLite数据库
- Python 操作sqlite数据库
- Python连接SQLite数据库
- python操作sqlite数据库
- SQLite数据库,应用程序没有关闭游标或数据库对象
- python模块之sqlite数据库
- python模块之sqlite数据库
- python 中使用sqlite数据库
- Python:操作嵌入式数据库SQLite
- 171123 IRLS-Iteratively Reweighted Least Squares
- Java算法面试题(001) 如何使用循环和递归计算单链表的长度
- Fragment
- banner
- 网络连接判断
- Python-数据库SQLite 游标
- tabLayout
- 欢迎使用CSDN-markdown编辑器
- CentOS 7 安装 mosquitto
- xlv+banner
- RecyclerView的点击事件
- python数据库中表的操作
- DrawerLayout
- MFC学习笔记4 VC常用数据类型列表