SQLite
狮弟
String Profe……cessor!)
展开
-
代码示例:从SQLite数据库导入数据到postgreSQL数据库
postgreSQL的主键一定不能为空(null),即使为联合主键之一。这点与SQLite不同。在从SQLite导入数据到postgreSQL数据库时踩中了这个坑。【下面知识点与本文主题无关,只与上一段有点关系】另外,python语言与其他语言不同,空用none来表示,没有NULL类型。同时注意,none是有数据类型的,type为‘Nonetype’ 。python可能会把0,false,[ ]…等判断为空,故在python中判断对象是否为空时需要特别注意对象类型。正所谓 “四大皆空,可能踩坑”(~这句原创 2021-06-16 22:53:10 · 1279 阅读 · 0 评论 -
【python】SQLite学习笔记06:从excel文件批量导入数据到SQLite数据库
尽管SQLite应用广泛,但是网上可参考资料却不太多,现有的菜鸟教程(www.runoob.com)、SQLite官网和Python的SQLite子站信息略嫌粗糙而且比较基础,故此分享一些跳出坑的经验供大家参考。以下代码基于Python 3.7.1使用了openpyxl模块、sqlite3模块,应用了迭代器来逐行读取excel数据,可以较好地控制内存开销(对较大的excel文件才有实际价值)。...原创 2019-02-09 17:18:39 · 5845 阅读 · 11 评论 -
【SQLite】向数据库现有表中添加新列
环境:python 3.7.1sqlite3 2.6.0SQLite 3.21import sqlite3 lists=sqlite3.connect('tree.db') fptree=lists.cursor()try: #添加新列到数据库 add_column='''ALTER TABLE summary ADD COLUMN freq''' fptre...原创 2019-03-03 22:02:24 · 6222 阅读 · 0 评论 -
【python】SQLite学习笔记01:游标
这段对游标说的最清楚:使用Cursor对象执行select语句时,通过featchall()返回select的全部数据结果集。结果集是一个list,每个元素都是一个tuple,对应一行记录,按建表的字段顺序排列。fetchone()返回一条结果,是一个tuple,每个元素是一个字段值。需要注意的是,SQLite游标是有状态的,只能遍历结果集一次,不能在结果集中返回移动,遍历结束返回空值。fea...转载 2019-05-25 22:35:26 · 991 阅读 · 0 评论 -
【python】SQLite学习笔记03:复制表
本节内容简单,只有一条命令。以下例子中展示了如何复制一个表。 CREATE TABLE b_table AS SELECT * FROM a_tablea_table的表结构和所有数据全部复制到了新建的b_table中。注意:主键约束没有复制过去,缺省值也没有复制过去...原创 2019-06-07 21:17:13 · 1224 阅读 · 0 评论 -
【python】SQLite学习笔记02:实现双游标双迭代遍历
让我们先从python官方给的例子开始:要使用sqlite3 这个模块,必须先创建一个 Connection 对象,它代表数据库。下面例子中,数据将存储在 example.db 文件中:import sqlite3conn = sqlite3.connect('example.db')当有了 Connection 对象后,你要创建一个 Cursor 游标对象,然后调用它的 execute...原创 2019-05-29 23:01:31 · 612 阅读 · 0 评论 -
【python】SQLite学习笔记04:占位符?的陷阱
在Python说明文档中推荐使用? 占位符(placeholder)来代替字符串操作,原文如下:通常你的 SQL 操作需要使用一些 Python 变量的值。你不应该使用 Python 的字符串操作来创建你的查询语句,因为那样做不安全;它会使你的程序容易受到 SQL 注入攻击。推荐另外一种方法:使用 DB-API 的参数替换。在你的 SQL 语句中,使用 ? 占位符来代替值,然后把对应的值组成...原创 2019-06-18 21:38:16 · 2826 阅读 · 2 评论 -
【python】SQLite学习笔记05:增加新列的坑(+复制数据库的坑)
今天又踩了个SQLite坑!driver.execute('''ALTER TABLE ar ADD COLUMN lx_signature TEXT,lx_title TEXT,ly_signature TEXT,ly_title TEXT;''')在执行上面语句的时候,报错:Traceback (most recent call last): File "c:/Users/VC/O...原创 2019-06-28 00:36:27 · 1906 阅读 · 0 评论