如何在SQLite中的两个表之间复制数据?

2024-05-12

我有两个具有不同列的表,如下所示:

table1
(
    _id,
    title,
    name,
    number,
    address
)

table2
(
    _id,
    phone,
    name,
    address
)

如何将数据“名称”、“地址”从表 1 复制到表 2。

我的问题有两种情况:

  • 第一:table1、table2在同一个数据库文件中
  • 第二:data1.db文件中的table1,data2.db文件中的table2

SQL 中的复制工作如下:

insert into table2 (name, address)
select name, address
from table1

如果该列的值id_是一样的,需要插入和更新

insert into table2 (name, address)
select name, address
from table1 t1
where not exists (select * from table2 t2 where t1._id = t2._id)
;
update table2 t2 name = (select name from table1 t2 where t1._id = t2._id)
;
update table2 t2 address = (select address from table1 t2 where t1._id = t2._id)

如果您需要在数据库之间复制列,您首先将它们导出到一个文件中(使用您喜欢的任何格式,例如 CSV),然后将该文件手动合并到第二个数据库中,因为您无法编写一条 SQL 来表示“使用这些 sqlite 结构”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在SQLite中的两个表之间复制数据? 的相关文章

  • SQLite同时读写

    我读过很多主题 但无法找到问题的答案 是否可以同时读写 我有后台线程更新一些数据 UI 需要存储在数据库中的一小部分数据 所以在UI线程中执行SELECT操作 但当更新正在进行时它会阻塞 结果 UI 冻结了几秒钟 有人在写入时成功从数据库读
  • sqlite 增量真空仅删除一个空闲页面

    我已将 sqlite 数据库的 auto vacuum PRAGMA 值更改为 INCRMENTAL 当我跑步时PRAGMA incremental vacuum 通过 DB Browser for SQlite 应用程序 它释放了free
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • 如何将图数据结构持久化到关系数据库中?

    我考虑过创建一个顶点表和一个边表 但是在内存中构建图和遍历子图是否需要大量查找 我想避免过多的数据库读取 还有其他方法可以保存图表吗 旁注 我听说过 Neo4j 但我的问题实际上是如何在概念上表示标准数据库中的图形 不过 我对一些 NoSQ
  • Android SQLite 从代码中转储数据库以进行错误报告

    我正在为我的一个 Android 程序开发一种诊断工具 本质上 如果用户遇到问题 我想做一些类似 SQLite 的事情dump 参考 http www sqlite org sqlite html http www sqlite org s
  • 如何在Android中访问现有的sqlite数据库?

    到目前为止 我们已经在 Android 中开发了在运行时创建数据库的应用程序 我们想知道如何在 Android 应用程序中访问预构建或现有的数据库 sqlite 文件 请提供详细信息 查看文档android database sqlite
  • 如何下载Android应用程序的sqlite数据库?

    我在我的 Android 应用程序中使用 sqlite 数据库 我想将数据库下载到电脑上 谁能告诉我该怎么办 如果您的应用程序在模拟器中 您只需使用 DDMS 并打开 data data your package name database
  • 在准备另一个Statement之前是否有必要关闭PreparedStatement

    是否有必要在一个db getConnection 中关闭ResultSet和PreparedStatement 对于下面的例子 Connection conn db getConnection PreparedStatement pstmt
  • MySQL 行级锁

    我不确定行级锁是如何工作的 但这是我的问题 我有一个表 T id int balance int engine InnoDB 我想锁定 ID 1 的行 所以我开始一个像这样的事务 start transaction select from
  • 如何使用索引更改表的列?

    我想将带有某些索引的表中 a 列的列大小从 varchar 200 更改为 varchar 8000 我应该如何进行 既然是VARCHAR你正在增加尺寸 然后简单地ALTER TABLE ALTER COLUMN https learn m
  • 将歌词存储在 MySQL 数据库中

    我想知道在 mysql 数据库中存储音乐 歌词 的最佳方式是什么 以及用于此目的的设置是什么 另外 我想要表格来存储断线 我正在考虑使用 指示新行并使用 php 替换字符串 我不知道从哪里开始 或者使用什么参数 varchar int 我知
  • iPhone 存储图像的最佳方式

    我正在开发一个应用程序 需要缓存一些来自网络的图像 图像可能是 100x100 我只需要知道哪个更好 将图像作为文件存储在 iPhone 文件系统中 将它们作为 blob 与已保存在数据库中的其他数据一起存储在 sqlite 数据库中 感谢
  • SQLiteAssetHelper 甚至在从资产文件夹复制数据库之前就导致立即崩溃

    https github com jgilfelt android sqlite asset helper https github com jgilfelt android sqlite asset helper 我要从SQLiteOpe
  • 如何在android上的查询中添加WHERE子句

    我想将结果限制为 KEY HOMEID 等于journalId 的结果 我已经研究这个问题几天了 任何帮助将不胜感激 public Cursor fetchAllNotes String journalId return mDb query
  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • 为什么使用参数化查询将数据插入表比将值附加到查询字符串更快?

    为什么使用参数化查询向表中插入数据 string queryString insert into product id name values id name 比将值附加到查询字符串更快 string queryString insert
  • 子查询在多项选择时返回超过 1 个值的 SQL 错误

    我想要一个临时表 它将使用 select 语句插入值 但每次我运行查询时 总是出现错误 子查询返回超过 1 个值 当查询跟随 gt 或子查询用作表达式时 不允许这样做 该语句已终止 0 行受影响 这很奇怪 因为代码中似乎没有错误 但如果有的
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • 分区表查询仍然扫描所有分区

    我有一个包含超过十亿条记录的表 为了提高性能 我将其分区为30个分区 最常见的查询有 id 在他们的 where 子句中 所以我决定对表进行分区id column 基本上 分区是这样创建的 CREATE TABLE foo 0 CHECK

随机推荐