sqlite3修改表内容python_Python sqlite3数据库模块使用攻略
Python作为数据科学主流语言,被广泛用于数据读存、处理、分析、建模,可以说是无所不能。
数据一般存放在本地文件或者数据库里,之前介绍过如何使用python读取本地文件,也对# PyMySQL、cx_Oracle等数据库连接库做过简单的使用分享。
这次推荐一个python自带的轻量级数据库模块-sqlite3,先要弄清楚什么是SQLite:❝ SQLite是一种用C写的小巧的嵌入式数据库,它的数据库就是一个文件。SQLite 不需要一个单独的服务器进程或操作的系统,不需要配置,这意味着不需要安装或管理,所有的维护都来自于SQLite 软件本身。
❞
sqlite3模块不同于PyMySQL模块,PyMySQL是一个python与mysql的沟通管道,需要你在本地安装配置好mysql才能使用,而SQLite是python自带的数据库,不需要任何配置,使用sqlite3模块就可以驱动它。
本文我们将进行连接 SQLite数据库、创建表、插入数据、读取数据、修改数据等操作。
1. 导入sqlite3模块
sqlite3是内置模块,所以不需要安装的,直接import导入即可:
import sqlite3
2. 创建与SQLite数据库的连接
使用sqlite3.connect()函数连接数据库,返回一个Connection对象,我们就是通过这个对象与数据库进行交互。 数据库文件的格式是filename.db,如果该数据库文件不存在,那么它会被自动创建。 该数据库文件是放在电脑硬盘里的,你可以自定义路径,后续操作产生的所有数据都会保存在该文件中。
# 创建与数据库的连接
conn = sqlite3.connect('test.db')
还可以在内存中创建数据库,只要输入特殊参数值:memory:即可,该数据库只存在于内存中,不会生成本地数据库文件。
conn = sqlite3.connect(':memory:')
建立与数据库的连接后,需要创建一个游标cursor对象,该对象的.execute()方法可以执行sql命令,让我们能够进行数据操作。
#创建一个游标 cursor
cur = conn.cursor()
3. 在SQLite数据库中创建表
这里就要执行sql的建表语句了,我们先创建一张如下的学生成绩表-scores:
该表目前只有字段名和数据类型,没有数据,执行以下语句实现:
# 建表的sql语句
sql_text_1 = '''CREATE TABLE scores(姓名 TEXT,班级 TEXT,性别 TEXT,语文 NUMBER,数学 NUMBER,英语 NUMBER);'''
# 执行sql语句
cur.execute(sql_text_1)
4. 向表中插入数据
建完表-scores之后,只有表的骨架,这时候需要向表中插入数据:
执行以下语句插入单条数据:
# 插入单条数据
sql_text_2 = "INSERT INTO scores VALUES('A', '一班', '男', 96, 94, 98)"
cur.execute(sql_text_2)
执行以下语句插入多条数据:
data = [('B', '一班', '女', 78, 87, 85),
('C', '一班', '男', 98, 84, 90),
]
cur.executemany('INSERT INTO scores VALUES (?,?,?,?,?,?)', data)
# 连接完数据库并不会自动提交,所以需要手动 commit 你的改动conn.commit()
5. 查询数据
我们已经建好表,并且插入了三条数据,现在来查询特定条件下的数据:
# 查询数学成绩大于90分的学生
sql_text_3 = "SELECT * FROM scores WHERE 数学>90"
cur.execute(sql_text_3)
# 获取查询结果
cur.fetchall()
返回:
备注:获取查询结果一般可用.fetchone()方法(获取第一条),或者用.fetchall()方法(获取所有条)。
6. 其他操作
对数据库做改动后(比如建表、插数等),都需要手动提交改动,否则无法将数据保存到数据库。
# 提交改动的方法
conn.commit()
使用完数据库之后,需要关闭游标和连接:
# 关闭游标
cur.close()
# 关闭连接
conn.close()
附连接connection和游标cursor的API方法
sqlite3修改表内容python_Python sqlite3数据库模块使用攻略相关推荐
- sqlite3修改表内容python_python之sqlite3使用详解(转载)
Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它使用一个文件存储整个数据库,操作十分方便.它的最大优点是使用方便,功能相 ...
- sql php修改mysql结构_sql怎么修改表内容
sql修改表内容的方法:可以通过执行[update 表名 set 列名1=值,列名2=值 where 条件;]命令来修改.使用该命令可以修改单表中一行单列或者多列数据. sql中修改表的内容有以下三种 ...
- 手动创建数据库实例全攻略4:参数文件
手动创建数据库实例全攻略4:参数文件 一.参数文件说明 1.参数文件作用. 在前期的数据库知识探索实验中,我们经常使用这个参数. http://www.cnblogs.com/alexy/p/crea ...
- 手动创建数据库实例全攻略7:UNDO
手动创建数据库实例全攻略7:UNDO 一.偷来的常识 网络上这个哥们写的太精彩了,直接复制阅读之! 文字来源:http://blog.csdn.net/tianlesoftware/article/d ...
- 英魂之刃服务器维护中修改,英魂之刃gg修改教程 | 手游网游页游攻略大全
发布时间:2016-04-09 今天小编要给大家带来的是辅助秒世界BOOS修改教程,如果你正好在寻找的辅助修改器,修改教程那就来对地方了哟. 辅助秒世界BO ... 标签: 剑魂之刃辅助 剑魂之刃修改 ...
- Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选、统计个数)之详细攻略
Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选.统计个数)之详细攻略 目录 一.sql实现筛选 1.单个表筛选 1.1.简单筛选 1.2.嵌套筛选
- 计算机毕业论文内容参考|基于Android的旅游攻略APP的设计与实现
文章目录 导文 摘要: 前言: 绪论: 1. 课题背景: 2. 国内外现状与趋势: 3. 课题内容: 相关技术与方法介绍: 系统分析: 系统设计: 系统实现 系统测试 总结与展望 本文总结 后续工作展 ...
- 赛尔号服务器维护时间4月27,赛尔号4月27日更新内容 赛尔号4月27日攻略大全
赛尔号4月27日更新内容 赛尔号4月27日攻略大全 终结!上古传说! 据说在巴斯星的上古龙殿的遗址,存在着龙族最强大的能量!正义的势力能战胜帕罗狄亚吗?赛尔们!巴斯星集合! 折翼的圣光天马 受伤的圣光 ...
- Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略
Python语言学习:Python语言学习之正则表达式常用函数之re.search方法[输出仅一个匹配结果(内容+位置)].re.findall方法[输出所有匹配结果(内容)]案例集合之详细攻略 导读 ...
最新文章
- poj 3321 Apple Trie
- 蚂蚁金服自研的OceanBase升级到2.0了,据说性能……
- jdbc链接数据库mysql
- 如何构建一个分布式爬虫:理论篇
- linux设置NO_PROXY绕过代理
- 使用python学线性代数_最简单的神经网络简介| 使用Python的线性代数
- jquery.easyui常用示例
- 使用FFmpeg从视频中截图的命令
- 传统的6d位姿估计fangfa1_李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪...
- Ambari系统架构
- 补习系列(22)-全面解读 Spring Profile 的用法
- 个人第三次软件工程作业-效能分析
- SEO网站外链优化大全
- 服务器系统报ata6,ATA_5.4考试管理系统使用手册[最终版].doc
- If you insist running as root, then set the environment variable RUN_AS_USER=root before running thi
- sklearn逻辑回归参数详解,及用逻辑回归制作评分卡
- matlab弦截法例子,弦截法matlab程序
- 算法题 - 卡牌游戏问题 - Python
- 电磁场与仿真软件(21)
- 从软件生命周期看应用安全(网络安全)
热门文章
- 文件上传java逻辑_Java 文件上传 实例
- Python datetime astimezone()方法与示例
- 回文子序列_计算回文子序列的总数
- Java DataInputStream readShort()方法(带示例)
- ReactNative开发工具有这一篇足矣
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
- Ajax用证书调用,跨域的jQuery AJAX调用,带证书(Cross domain jQuery ajax call
- 战双帕弥什自抽号怎么使用_战双帕弥什新S冰露怎么玩《战双帕弥什》新S冰露玩法技巧...
- 4列变成5列 datatable_云南美食界“5巨头”,谁才是NO.1?你家乡的那道菜也在列...
- gprs模块ftp 远程升级_基于GPRS无线通信技术的冷链监测系统