首页 / 知识
关于sql:如何转储某些SQLite3表的数据?
2023-04-16 03:14:00

How do I dump the data of some SQLite3 tables?
我该如何转储数据库的某些SQLite3表(而非所有表)的数据,而仅转储数据,而不是模式?
但不转储架构并选择要转储的表。 您没有说要对转储的文件做什么。 我将使用以下内容获取CSV文件,该文件可以导入几乎所有内容
如果您想重新插入另一个SQLite数据库,则:
您可以这样做来获得.schema和.dump命令的区别。例如使用grep:
我希望这可以帮助你。 这不是最好的方法,但至少不需要外部工具(grep除外,它始终是* nix盒上的标准配置)
但是您确实需要为要查找的每个表执行此命令。 请注意,这不包括架构。
您可以为.dump特殊命令指定一个或多个表参数,例如
任何建议使用grep排除
在sqlite3 3.6.20版上测试。
如果要排除某些表,则可以使用 作为对保罗·伊根(Paul Egan)答案的改进,可以按以下步骤完成:
- 要么 -
注意,当然,您必须安装grep。 在Python或Java或任何高级语言中,.dump不起作用。我们需要手动将转换编码为CSV。我举一个Python示例。其他的,例子将不胜感激:
如果您具有"面板数据",换句话说,许多具有ID的单独条目会将其添加到with外观中,并且还会转储摘要统计信息:
根据命令行外壳程序的SQLite文档对于SQLite,只需将"模式"设置为" csv",然后运行查询以提取所需的行,即可将SQLite表(或表的一部分)导出为CSV。桌子:
然后使用" .import"命令将CSV(逗号分隔值)数据导入到SQLite表中:
请阅读有关这两种情况的更多文档:(1)表" tab1"以前不存在,并且(2)表" tab1"已存在。 审查其他可能的解决方案 仅包括INSERT
易于实现,但是如果您的任何列包含新行,它将失败 SQLite插入模式
这是一个不错的且可自定义的解决方案,但如果您的列在spacespaceite中具有Blob对象(例如" Geometry"类型),则该方法将无效 与模式差异转储
不知道为什么,但对我不起作用 另一个(新的)可能的解决方案 这个问题可能没有最佳答案,但对我来说有用的是grep插入,考虑到列值中的换行符是这样的:
要选择要转储的表,
或者,更详细地说明如何尊重外键并将所有转储封装在一个事务中
考虑到如果 还原它(在已创建表的数据库中)
最好的方法是采用sqlite3 db dump可以执行的代码,不包括模式部分。 伪代码示例:
有关实际代码,请参见: 您甚至可以只使用该shell并注释掉架构部分并使用它。 此版本可与插入符内的换行符一起使用:
实际上,排除以
retracile的答案应该是最接近的答案,但它不适用于我的情况。一个插入查询刚刚在中间中断,并且导出刚刚停止。不知道是什么原因。但是,它在
最后,我编写了一个工具,用于拆分从 https://github.com/motherapp/sqlite_sql_parser/ 您可以在表格上进行选择,在每个字段后插入逗号以产生csv,或使用GUI工具返回所有数据并将其保存到csv。 |
最新内容
相关内容
linux数据库升级命令?
linux数据库升级命令?,系统,信息,时间,最新,网络,名字,地址,管理,简介,传播,linux下手动更新locate所在数据库的指令updatedb为什么行不通_百linux命令行模式登录?
linux命令行模式登录?,系统,密码,信息,状态,情况,终端,环境,管理,电脑,位置,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信linux退出命令模式?
linux退出命令模式?,状态,档案,命令,环境,密码,终端,文件,模式,编辑,端口,linux退出vi编辑命令先按ESC进入Command模式,然后输入“:wq”,回车就可linux命令模式加行?
linux命令模式加行?,工作,地址,系统,命令,工具,正规,信息,时间,第一,模式,Linux下vim编辑器命令大全杀死进程killvi命令vi/vim是linux最常用的linux命令行模式使用?
linux命令行模式使用?,工作,地址,目录,信息,名称,系统,管理,命令,文件,标准,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出数据库导出linux命令?
数据库导出linux命令?,密码,数据,数据库,情况,地址,系统,工具,网上,名字,命令,linux系统导出oracle数据库数据导出数据库对象在PL/SQL Developlinux命令与数据流?
linux命令与数据流?,工作,地址,系统,信息,命令,目录,标准,网络,管理,常用命令,linux基本操作命令linux常用命令有pwd命令、cd命令、ls命令、calinux切换成命令模式?
linux切换成命令模式?,密码,系统,工具,模式,命令,首页,状态,图形界面,终端,界面,Linux切换命令模式与GUI模式命令行→图形 startx 注:图形界面linux恢复数据库命令?
linux恢复数据库命令?,工具,系统,软件,数据,盘中,密码,命令,备份,数据库,文件,linux如何恢复删除的文件1、接下来小编就给大家带来linux恢复误linux储存命令数据?
linux储存命令数据?,系统,工作,地址,信息,标准,命令,工具,实时,数据,分析,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令行模式清页?
linux命令行模式清页?,工作,系统,命令,信息,地址,目录,内容,文件,操作,功能,linux常用命令linux系统常用操作命令如下:ls:全拼list,功能是列出目linux储存命令数据?
linux储存命令数据?,系统,工作,地址,信息,标准,命令,工具,实时,数据,分析,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目