kingbase(人大金仓)的一些常用表操作语句
Posted 左直拳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kingbase(人大金仓)的一些常用表操作语句相关的知识,希望对你有一定的参考价值。
包括
1)创建表
2)删除表
3)加字段
4)字段换名
5)字段改类型
6)字段添加注释
7)修改字段为自增类型
8)增加主键
一、创建和删除表
DROP TABLE IF EXISTS "DZ_RAIN" CASCADE;
CREATE TABLE "DZ_RAIN" (
"ID" SERIAL CONSTRAINT DZ_RAIN_PK PRIMARY KEY,
"BEGINTIME" TIMESTAMP,
"ENDTIME" TIMESTAMP,
"CATEGORY" SMALLINT,
"CREATETIME" TIMESTAMP NULL,
"CREATOR" VARCHAR(50 byte) NULL
);
二、修改表结构
--添加字段
ALTER TABLE "DZ_ALERT" ADD COLUMN levels varchar(20) NULL;
ALTER TABLE dz_targetunit ADD d varchar(50);
--字段换名
ALTER TABLE "DZ_ALERT_DETAIL" RENAME "regiontype" TO "region_type";
ALTER TABLE dz_targetunit RENAME COLUMN address TO country;
--修改字段类型
ALTER TABLE dz_targetunit ALTER COLUMN "TYPE" TYPE SMALLINT ,ALTER COLUMN country TYPE varchar(50);
ALTER table dz_targetunit ALTER COLUMN id TYPE BIGINT;
三、字段注释
--添加字段注释
COMMENT ON COLUMN dz_targetunit."TYPE" IS '0全部发送(默认)1区别发送';
四、自增字段和主键
设置主键(一般为自增)的最佳时机是创建表的时候:
CREATE TABLE "DZ_RAIN" (
"ID" SERIAL CONSTRAINT DZ_RAIN_PK PRIMARY KEY,
"BEGINTIME" TIMESTAMP,
"ENDTIME" TIMESTAMP,
"CATEGORY" SMALLINT,
"CREATETIME" TIMESTAMP NULL,
"CREATOR" VARCHAR(50 byte) NULL
);
上述语句中,id设置为主键。同时类型指定为serial,创建之后,ID即为自增。但如果创建的时候没有设为自增怎么办?注意并不可以将ID设为serial类型。serial是一个伪类型,作用是自动创建一个序列(sequence)并赋给该字段。那么将某字段设为自增(主键与自增是两码事),应沿着相同路径操作:
--将字段改为自增
ALTER TABLE dz_targetunit ALTER column ID set default nextval('DZ_TARGETUNIT_ID_SEQ');
--删除约束(主键就是一个约束)
ALTER TABLE dz_targetunit DROP CONSTRAINT dzzhyj_dz_targetunit_constraint_1;
--添加主键
ALTER TABLE dz_targetunit ADD PRIMARY KEY(id);
以上是关于kingbase(人大金仓)的一些常用表操作语句的主要内容,如果未能解决你的问题,请参考以下文章