博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle之主键(Primary Key)用法详解
阅读量:3587 次
发布时间:2019-05-20

本文共 2306 字,大约阅读时间需要 7 分钟。

工作中用的数据库是Oracle,建表是说用复合主键,博主不是很懂啊(主键还有复合主键),才发现主键这块很是薄弱,查完资料,特写一篇博客记录一下。

什么是主键

主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。 

所谓的复合主键 就是指你表的主键含有一个以上的字段组成。 
如果表里没有可以当唯一主键,可以使用复合主键,确定一条记录的唯一性。

创建主键两种方式

第一种, 在创建表时定义主键 

单列主键示例:

----创建TF_B_AIR_CONFIG表create table ECS_STORE.TF_B_AIR_CONFIG(  TYPE_ID            VARCHAR2(20) not null,  PROVINCE_CODE      VARCHAR2(4) not null,  PARAMETER_TYPE     VARCHAR2(2) not null,  LIMIT_NUM          VARCHAR2(4) not null,  EFFECTIVE_FALG     VARCHAR2(2) default '1',  UPDATE_TIME        DATE default sysdate,  constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID)--单列主键  )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

复合主键示例:

----创建TF_B_AIR_CONFIG表create table ECS_STORE.TF_B_AIR_CONFIG(  TYPE_ID            VARCHAR2(20) not null,  PROVINCE_CODE      VARCHAR2(4) not null,  PARAMETER_TYPE     VARCHAR2(2) not null,  LIMIT_NUM          VARCHAR2(4) not null,  EFFECTIVE_FALG     VARCHAR2(2) default '1',  UPDATE_TIME        DATE default sysdate,  constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID , PROVINCE_CODE)--复合主键  )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

第二种, 在创建表后,使用alter table语法

语法

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (col1, col2,...coln);
  • 1

示例

----创建TF_B_AIR_CONFIG表create table ECS_STORE.TF_B_AIR_CONFIG(  TYPE_ID            VARCHAR2(20) not null,  PROVINCE_CODE      VARCHAR2(4) not null,  PARAMETER_TYPE     VARCHAR2(2) not null,  LIMIT_NUM          VARCHAR2(4) not null,  EFFECTIVE_FALG     VARCHAR2(2) default '1',  UPDATE_TIME        DATE default sysdate)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
--单列主键  alter table ECS_STORE.TF_B_AIR_CONFIG add constraint TF_B_AIR_CONFIG_PK primary key (TYPE_ID);  --联合主键  alter table ECS_STORE.TF_B_AIR_CONFIG add constraint TF_B_AIR_CONFIG_PK primary key (TYPE_ID , PROVINCE_CODE);
  • 1
  • 2
  • 3
  • 4

其他操作

禁用主键 

语法:

ALTER TABLE table_name DISABLE CONSTRAINT constraint_name;
  • 1

示例:

alter table ECS_STORE.TF_B_AIR_CONFIG disable constraint TF_B_AIR_CONFIG_PK ;
  • 1

启用主键 

语法:

ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
  • 1

示例:

alter table ECS_STORE.TF_B_AIR_CONFIG enable constraint TF_B_AIR_CONFIG_PK ;
  • 1

删除主键 

ALTER TABLE table_name DROP CONSTRAINT constraint_name;

alter table ECS_STORE.TF_B_AIR_CONFIG drop constraint TF_B_AIR_CONFIG_PK ;
  • 1
版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处:http://blog.csdn.net/wenteryan https://blog.csdn.net/wenteryan/article/details/77948023
你可能感兴趣的文章
Android——网络编程
查看>>
Android——服务
查看>>
HarmonyOS工作原理解析
查看>>
数据库事务的四个特性及含义
查看>>
主题模型探讨
查看>>
几种常用的特征选择方法
查看>>
HMM ,MHMM,CRF 优缺点与区别
查看>>
stop word理解及超全的停用词表
查看>>
同义词挖掘的一些常用方法 及同义词替换程序
查看>>
文本聚类浅析
查看>>
用户画像全面精析
查看>>
对话系统分析与展望
查看>>
基于VSM的命名实体识别、歧义消解和指代消解
查看>>
算术运算符和比较运算符
查看>>
复制带随机指针的链表
查看>>
【SpringMVC】十、SSM整合入门
查看>>
【Dubbo】一、入门概念
查看>>
学习Java Socket网络编程(三)
查看>>
Java方法参数之参数传递方式
查看>>
mysql安装和配置ODBC驱动,然后tableau链接MySQL数据库
查看>>