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 值。

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

    本文转自网络,如有侵权请联系客服删除。