【Postgresql】根据响应数据反向实现建表语句与insert语句

我现在有的数据:

[
    {
      "id": 1,
      "title": "手机",
      "progress": 408
    },
    {
      "id": 2,
      "title": "电脑",
      "progress": 181
    },
    {
      "id": 3,
      "title": "美妆",
      "progress": 452
    },
    {
      "id": 4,
      "title": "家电",
      "progress": 146
    },
    {
      "id": 5,
      "title": "洗护",
      "progress": 208
    }
  ]
}

想根据这段数据,反向实现建表与insert语句,大致思路及实现如下:
根据提供的数据,可以创建一个名为 products 的表,其中包含 idtitleprogress 三个字段。以下是对应的 PostgreSQL 建表语句和插入语句:
建表语句:

CREATE TABLE products (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    progress INTEGER NOT NULL
);

在这个建表语句中,id 字段被设置为自增主键,title 字段被设置为非空的字符串,而 progress 字段被设置为非空的整数。
插入语句:

INSERT INTO products (id, title, progress)
VALUES
(1, '手机', 408),
(2, '电脑', 181),
(3, '美妆', 452),
(4, '家电', 146),
(5, '洗护', 208);

在这个插入语句中,我们为 products 表插入五条记录,每条记录包含一个 idtitleprogress 字段的值。
请注意,由于数据中的 id 已经给出,并且假设它们是唯一的,我们可以在建表语句中指定 id 字段,并在插入语句中直接使用这些值。如果 id 是自增的,并且您希望数据库自动生成它们,那么在插入语句中您应该省略 id 字段,只插入 titleprogress 字段。
如果 id 是自增的,插入语句将修改为:

INSERT INTO products (title, progress)
VALUES
('手机', 408),
('电脑', 181),
('美妆', 452),
('家电', 146),
('洗护', 208);

在这种情况下,不需要在插入语句中指定 id,数据库将自动为每条新记录生成一个唯一的 id 值。

这样就完成了我们由数据到数据库表的方向操作;

上一篇:OpenCV-风格迁移-五、示例代码


下一篇:Java 基本数据类型