包括
1)创建表
2)删除表
3)加字段
4)字段换名
5)字段改类型
6)字段添加注释
7)修改字段为自增类型
8)增加主键

9)查看模式下的表

一、创建和删除表

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);

五、其他

1、查看模式下的表

SELECT count(table_name) FROM information_schema.TABLES WHERE table_schema =‘information_schema’; 

2、查看指定机器有多少数据库

ksql -h 192.168.0.79 -U system -W 123456 -l

关键是 -l 这个参数

六、表名大小写更改

kingbase默认不区分大小写。不过如果创建表的时候,不小心用了大写命名,想改回小写,或者相反,在人大金仓提供的对象管理工具重命名是不行的。只能用语句。并且要分2步走。先改成一个小写、不同名字的表名;然后再改回小写、本名的表名。

如:
–注意第二个表名前面不带schema

ALTER TABLE publicDB."OUTLET_NONFARMED" RENAME TO "outlet_nonfarmed1";
ALTER TABLE publicDB."outlet_nonfarmed1" RENAME TO "outlet_nonfarmed";
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐