Python操作SQLite数据库过程解析


Posted in Python onSeptember 02, 2019

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。

Python标准库包含一个SQLite包装器:使用模块sqlite3实现的PySQLite。

下面是一个操作SQLite数据库的例子:创建表、插入记录、查询记录。

import sqlite3
#创建直接到数据库文件的连接,如果文件不存在则自动创建
conn = sqlite3.connect('testdb.db')
#创建一个游标向服务器发送命令及接收结果
cursor = conn.cursor()
#创建表user
sql = '''
create table user(
id integer primary key,
name text,
sex text
)
'''
#执行
cursor.execute(sql)
#插入一条数据
sql = 'insert into user(name,sex) values("小明","男")'
cursor.execute(sql)
#插入多条数据
sql = 'insert into user(name,sex) values(?,?)'
vals = (('小李','男'),('小红','女'))
cursor.executemany(sql,vals)
#有增删改的话需要提交
conn.commit()
sql = 'select * from user'
cursor.execute(sql)
#游标有3个方法可以请求结果
#cursor.fetchone 获取一行结果
#cursor.fetmany 获取指定的任意行结果
#cursor.fetchall 获取所有结果
for row in cursor.fetchall():
  print(row)
#关闭游标和连接
cursor.close()
conn.close()

运行结果:

(1, '小明', '男')
(2, '小李', '男')
(3, '小红', '女')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python数据结构之二叉树的遍历实例
Apr 29 Python
Python面向对象编程中的类和对象学习教程
Mar 30 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
python实现简单五子棋游戏
Jun 18 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
python模块导入的方法
Oct 24 Python
Python笔记之代理模式
Nov 20 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
python学习将数据写入文件并保存方法
Jun 07 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 Python
Python实现生成密码字典的方法示例
Sep 02 #Python
python使用多线程编写tcp客户端程序
Sep 02 #Python
使用python实现离散时间傅里叶变换的方法
Sep 02 #Python
详解Python图像处理库Pillow常用使用方法
Sep 02 #Python
Django使用中间件解决前后端同源策略问题
Sep 02 #Python
python elasticsearch环境搭建详解
Sep 02 #Python
关于pymysql模块的使用以及代码详解
Sep 01 #Python
You might like
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
php实现httpclient类示例
2014/04/08 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
php计算函数执行时间的方法
2015/03/20 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
javascript数组详解
2014/10/22 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
javascript实现连续赋值
2015/08/10 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
微信JS接口大全
2016/08/25 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
教学评估实施方案
2014/03/16 职场文书
应届生求职信
2014/05/31 职场文书
政协工作总结2015
2015/05/20 职场文书
民事调解书范文
2015/05/20 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python