问题

sqlite 2.8.17 创建了一个数据库 heroes.db
其中创建了一个表 heroes,这张表中存储的是魔兽争霸中英雄的技能数据。
select * from heroes;会得到:

大魔法师|人族|水元素|暴风雪|辉煌光环|时空传送
山丘之王|人族|风暴之锤|雷霆一击|重击|天神下凡
血魔法师|人族|炎击|放逐|吸魔|火凤凰
圣骑士|人族|圣光|圣盾|神圣光环|复活

但是用python通过sqlite3操作heroes.db的时候会报错。

Error: file is encrypted or is not a database

我想也许是sqlite3和sqlite2创建的数据库格式不同造成的。

果然,直接用sqlite3的命令行工具操作heroes.db,也报同样的错误。

解决

接下来的工作,就是把sqlite2创建的heroes.db转换成sqlite3可以使用的格式:

sqlite heroes.db打开数据库文件,然后在sqlite shell中执行:

.output heroes.sql
.dump heroes
.exit

现在heroes.sql的内容如下:

BEGIN TRANSACTION;
create table heroes (name varchar, race varchar, skill1 varchar, skill2 varchar, skill3 varchar, superskill varchar);
INSERT INTO heroes VALUES('大魔法师','人族','水元素','暴风雪','辉煌光环','时空传送');
INSERT INTO heroes VALUES('山丘之王','人族','风暴之锤','雷霆一击','重击','天神下凡');
INSERT INTO heroes VALUES('血魔法师','人族','炎击','放逐','吸魔','火凤凰');
INSERT INTO heroes VALUES('圣骑士','人族','圣光','圣盾','神圣光环','复活');
COMMIT;

可以把原来的heroes.db删除了: rm heroes.db

用sqlite3创建新的数据库文件并导入数据:

sqlite3 heroes.db < heroes.sql

验证

现在再用sqlite3 打开heroes.db看看,已经可以进行查询和增改删操作了。
当然python也能通过import sqlite3使用该数据库了。

注意,再用sqlite时,直接使用sqlite3比较好,因为python好像只直接支持sqlite3。

sqlite3使用sqlite2创建的数据库相关推荐

  1. 如何在sqlite3连接中创建并调用自定义函数

    #!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...

  2. Linux创建sqlite数据库文件,SQLite数据库的创建与附加

    SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受版权限制. 创建数据 ...

  3. Python框架篇之Django(Models数据表的创建、数据库配置)

    文章目录 一.数据库的配置 二.Models数据表的创建 三.在Pycharm中显示 一.数据库的配置 1. django默认支持 sqlite,mysql, oracle,postgresql数据库 ...

  4. 浅显易懂 SQLite3 笔记(07)— 数据库视图简介及操作

    文章目录 前言 一.数据库系统的三级模式 二.视图定义和作用 1.什么是视图? 2.视图的作用? 三.SQL语句操作视图 1.创建视图 2.查询视图 3.更新视图 4.修改视图 5.删除视图 总结 前 ...

  5. Pycharm创建SQLite数据库

    SQLite 不需要配置,这意味着不需要安装或管理. SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB. SQLite 是自给自足的,这意味着不需 ...

  6. asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...

    [ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...

  7. 使用Oracle创建图书馆数据库

    select * from bookinsert into book values('001','大型数据库技术',28.3,200,'是') insert into book values('002 ...

  8. 如何重新创建mysql数据库_重新创建数据库与数据表《 MySQL 基础 》

    前面我们介绍的一些 sql 的语句是 sql 的 ddl 的部分,也就是定义数据结构用的 ... 在接下来的视频里,我们会去看一下 sql 的另一个部分,也就是 dml ,关于数据的操作的部分 ... ...

  9. oracle创建数据库后干什么,手动创建Oracle数据库之前因后果

    对于许多数据库管理员来说,Oracle究竟是不是一个难以管理和驾驭的怪兽级数据库,会不会让他们管理生涯饱受折磨?当看到其命令行界面时,很多人会问这么一个问题. 如果你想通过一个应用程序操控使用这个数据 ...

最新文章

  1. Java项目:仿小米商城系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
  2. ERROR: glib-2.22 gthread-2.0 is required to compile QEMU
  3. ngnix服务器搭建
  4. 【STM32】DMA详解
  5. 8086CPU汇编:一般的标号与直接定址标号
  6. 化繁为简 - 腾讯计费高一致TDXA的实践之路
  7. struts2配置文件的位置
  8. 用MongoDB实现MapReduce
  9. python图形界面教程_图形教程
  10. Python IO 基本编程示例
  11. 简述计算机j选件,计算机组成原理06new.ppt
  12. 计算机考研英语书,我的计算机考研复习经验 (分5大部分,很详细)
  13. python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例
  14. 弹出浮动页面html怎么写,C# 浮动窗体实现(自定义弹出窗口)
  15. python大众点评霸王餐_不收藏肯定后悔!大众点评前员工告诉你,如何利用点评APP吃霸王餐!...
  16. 关于线程join方法的理解
  17. [源码]VB6.0操作注册表
  18. 计算机二级考试考的什么内容,计算机二级考试内容考些什么
  19. LNMP 配置漏洞系列解读
  20. arm-2d库详细介绍

热门文章

  1. 相机标定(1)内\外参矩阵和畸变矩阵
  2. word2003计算机考试题,[2018职称计算机Word2003考前练习题] 2018年职称计算机考试练习题库...
  3. mysql-mmm_MySQL-MMM高可用群集
  4. Snabbdom(虚拟dom-h函数)
  5. 7-46 银行排队问题之单队列多窗口服务 (10 分)
  6. HTTP响应头信息 Content-Disposition 文件的显示或下载
  7. python中的内置函数返回元素_Python内置函数_________用来返回数值型序列中所有元素之和。...
  8. 类型的值怎么用es查询_腾讯游戏信用分怎么查询在哪看 有什么用怎么提升介绍...
  9. python3 如何读中文路径_Python3操作pdf文件之ReportLab
  10. Tomcat Connector