sqlite3使用sqlite2创建的数据库
问题
用 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创建的数据库相关推荐
- 如何在sqlite3连接中创建并调用自定义函数
#!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...
- Linux创建sqlite数据库文件,SQLite数据库的创建与附加
SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受版权限制. 创建数据 ...
- Python框架篇之Django(Models数据表的创建、数据库配置)
文章目录 一.数据库的配置 二.Models数据表的创建 三.在Pycharm中显示 一.数据库的配置 1. django默认支持 sqlite,mysql, oracle,postgresql数据库 ...
- 浅显易懂 SQLite3 笔记(07)— 数据库视图简介及操作
文章目录 前言 一.数据库系统的三级模式 二.视图定义和作用 1.什么是视图? 2.视图的作用? 三.SQL语句操作视图 1.创建视图 2.查询视图 3.更新视图 4.修改视图 5.删除视图 总结 前 ...
- Pycharm创建SQLite数据库
SQLite 不需要配置,这意味着不需要安装或管理. SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB. SQLite 是自给自足的,这意味着不需 ...
- 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 官方教程: ...
- 使用Oracle创建图书馆数据库
select * from bookinsert into book values('001','大型数据库技术',28.3,200,'是') insert into book values('002 ...
- 如何重新创建mysql数据库_重新创建数据库与数据表《 MySQL 基础 》
前面我们介绍的一些 sql 的语句是 sql 的 ddl 的部分,也就是定义数据结构用的 ... 在接下来的视频里,我们会去看一下 sql 的另一个部分,也就是 dml ,关于数据的操作的部分 ... ...
- oracle创建数据库后干什么,手动创建Oracle数据库之前因后果
对于许多数据库管理员来说,Oracle究竟是不是一个难以管理和驾驭的怪兽级数据库,会不会让他们管理生涯饱受折磨?当看到其命令行界面时,很多人会问这么一个问题. 如果你想通过一个应用程序操控使用这个数据 ...
最新文章
- Java项目:仿小米商城系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
- ERROR: glib-2.22 gthread-2.0 is required to compile QEMU
- ngnix服务器搭建
- 【STM32】DMA详解
- 8086CPU汇编:一般的标号与直接定址标号
- 化繁为简 - 腾讯计费高一致TDXA的实践之路
- struts2配置文件的位置
- 用MongoDB实现MapReduce
- python图形界面教程_图形教程
- Python IO 基本编程示例
- 简述计算机j选件,计算机组成原理06new.ppt
- 计算机考研英语书,我的计算机考研复习经验 (分5大部分,很详细)
- python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例
- 弹出浮动页面html怎么写,C# 浮动窗体实现(自定义弹出窗口)
- python大众点评霸王餐_不收藏肯定后悔!大众点评前员工告诉你,如何利用点评APP吃霸王餐!...
- 关于线程join方法的理解
- [源码]VB6.0操作注册表
- 计算机二级考试考的什么内容,计算机二级考试内容考些什么
- LNMP 配置漏洞系列解读
- arm-2d库详细介绍
热门文章
- 相机标定(1)内\外参矩阵和畸变矩阵
- word2003计算机考试题,[2018职称计算机Word2003考前练习题] 2018年职称计算机考试练习题库...
- mysql-mmm_MySQL-MMM高可用群集
- Snabbdom(虚拟dom-h函数)
- 7-46 银行排队问题之单队列多窗口服务 (10 分)
- HTTP响应头信息 Content-Disposition 文件的显示或下载
- python中的内置函数返回元素_Python内置函数_________用来返回数值型序列中所有元素之和。...
- 类型的值怎么用es查询_腾讯游戏信用分怎么查询在哪看 有什么用怎么提升介绍...
- python3 如何读中文路径_Python3操作pdf文件之ReportLab
- Tomcat Connector