tst

雨燕双飞 提交于 2019-12-05 04:31:56

前言:
达梦数据库表字段涉及到表的主键问题,需要设置主键、非空等特性。

总结:
1、修改数据表字段类型和长度
--设置字段类型和长度

alter table "SYSDBA"."MY_TABLE" modify "ID" VARCHAR2(50);

2、增加和去除唯一性设置
注意:唯一性与主键互斥,只能选其一。获取唯一性约束的KEY,参见后面的语句。

--增加唯一
alter table "SYSDBA"."MY_TABLE"  add constraint U_ID unique(id);

--去掉唯一
alter table "SYSDBA"."MY_TABLE"  drop constraint U_ID ;

3、设置可空或不可空特性
--可空
alter table "SYSDBA"."MY_TABLE" alter column "ID" set null;

--非空
alter table "SYSDBA"."MY_TABLE" alter column "ID" set not null;

4、增加主键和去除主键
--增加主键
alter table "SYSDBA"."MY_TABLE" add primary key("ID");

--去掉主键
alter table "SYSDBA"."MY_TABLE" drop constraint "CONS134237151";--主键ID的获取参见第7条

alter table "SYSDBA"."MY_TABLE" alter column "ID" set null;

5、查询数据库中的表
SELECT * FROM ALL_TABLES; --查询表

6、查看数据表定义
SELECT TABLEDEF('SYSDBA','MY_TABLE'); --查看表定义,入参:模式名,表名

7、查看表具有的约束
--查看所有主键约束
SELECT * FROM ALL_CONSTRAINTS WHERE Table_Name= CONSTRAINT_TYPE='P';

--所有约束种类
SELECT DISTINCT CONSTRAINT_TYPE FROM ALL_CONSTRAINTS;

CONSTRAINT_TYPE取值:

C:检验约束    
P:主键约束    
U:唯一性约束    
R:外键约束    
V:未知(编者注)

--查看某张表所有约束
SELECT * FROM ALL_CONSTRAINTS WHERE TABLE_NAME='MY_TABLE';

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!