• postgres 序列


    postgres序列(serial)和类型:https://www.cnblogs.com/alianbog/p/5654604.html

    序列:https://www.cnblogs.com/mchina/archive/2013/04/10/3012493.html

    serial序列其实就是当不给此字段赋值的时候,自动获取下一个值(唯一),可以当作自增主键

    一、 创建表的时候创建序列

    1. 方式一

    create table tbl_serial(a serial,b varchar(2));

    2. 方式二

    DROP SEQUENCE if EXISTS "public"."quake_data_id_seq";  
    CREATE SEQUENCE "public"."quake_data_id_seq"  
     INCREMENT 1  
     MINVALUE 1  
     MAXVALUE 9223372036854775807  
     START 1  
     CACHE 1;
     
    DROP TABLE if EXISTS "public"."quake_data"; 
    CREATE TABLE "public"."quake_data" (
      "id" int4 NOT NULL DEFAULT nextval('quake_data_id_seq'::regclass),
      "quake_id" int4 DEFAULT 0,
      "channel_id" varchar(40) COLLATE "pg_catalog"."default" DEFAULT NULL,
      "gauge_data" float8 DEFAULT NULL,
      "guage_time" timestamp(6) DEFAULT NULL,
      CONSTRAINT "1" PRIMARY KEY ("id")
    )
    ;
    
    ALTER TABLE "public"."quake_data" 
      OWNER TO "username";
    
    COMMENT ON COLUMN "public"."quake_data"."quake_id" IS '事件id';
    COMMENT ON COLUMN "public"."quake_data"."channel_id" IS '点号';
    COMMENT ON COLUMN "public"."quake_data"."gauge_data" IS '测量值';
    COMMENT ON COLUMN "public"."quake_data"."guage_time" IS '测量时间';

    二、表已经创建好,后来单独创建序列,给表字段绑定序列

    创建序列示例:

    CREATE SEQUENCE "public"."quake_data_id_seq"  
     INCREMENT 1  
     MINVALUE 1  
     MAXVALUE 9223372036854775807  
     START 1  
     CACHE 1;

    修改字段默认值:

    1. 使用的navicat

     2. 使用ALTER命令

    ALTER TABLE "public"."ttt" 
      ALTER COLUMN "id" TYPE int4 USING "quake_id"::int4;
    
    ALTER TABLE "public"."ttt" 
      ALTER COLUMN "id" SET DEFAULT nextval('ttt_id_seq'::regclass);

    PS: 具体alter命令可以取官方网站查询:https://www.postgresql.org/docs/9.1/sql-altertable.html

    小技巧:

    还有一个方便的方法:使用navticat修改一个字段(属性,添加字段,删除字段等等都可以),然后点击SQL预览,就可以看到对应的sql命令了

    比如下面图片演示,更改guage_time字段不能为空

    然后点击SQL预览, 显示sql语句:

    ALTER TABLE "public"."ttt" 
      ALTER COLUMN "guage_time" SET NOT NULL;

  • 相关阅读:
    B
    A
    【转】通过身边小事解释机器学习是什么?
    【转】什么是无监督学习?
    机器学习中的监督学习和无监督学习
    经典传染病传播模型
    复杂网络的主要研究内容
    网络科学导论【第一章】读书脑图
    无标度网络模型
    小世界网络模型
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/11460327.html
Copyright © 2020-2023  润新知