[转帖]kingbase(人大金仓)的一些常用表操作语句

kingbase,人大,一些,常用,操作,语句 · 浏览次数 : 0

小编点评

**创建和删除表** ```sql 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 ); ``` **修改表结构** ```sql ALTER TABLE \"DZ_ALERT\" ADD COLUMN levels varchar(20) NULL; ALTER TABLE dz_targetunit ADD d varchar(50); ``` **字段注释** ```sql ALTER TABLE dz_targetunit ALTER COLUMN \"TYPE\" TYPE SMALLINT ,ALTER COLUMN country TYPE varchar(50); ``` **自增字段和主键设置主键** ```sql 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 ); ``` **其他** 1. **查看模式下的表** ```sql SELECT count(table_name) FROM information_schema.TABLES WHERE table_schema =‘information_schema’; ``` 2. **查看指定机器有多少数据库** ```sql ksql -h 192.168.0.79 -U system -W 123456 -l 关键是 -l 这个参数 ``` 3. **表名大小写更改** - 创建表时,可以使用大写命名。 - 创建时不设置大小写,默认大小写与数据库类型无关。 - 只能在创建表时更改大小写,无法改回小写。

正文

包括
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";
                  
                    文章知识点与官方知识档案匹配,可进一步学习相关知识
                    MySQL入门技能树数据库组成61865 人正在系统学习中

                    与[转帖]kingbase(人大金仓)的一些常用表操作语句相似的内容: