当前位置: 首页 > news >正文

Oracle之主键(Primary Key)用法详解

工作中用的数据库是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
http://www.xdnf.cn/news/809407.html

相关文章:

  • Android ActivityManagerService总结(一)AMS启动
  • 智慧档案室一体化建设方案
  • Linux makefile详解
  • .NET Framework 3.5 SP1 最终文件下载及离线安装
  • 一站式Shell编程攻略:从入门到精通
  • java中用中国网建提供的SMS短信平台发送短信
  • 计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
  • 亚马逊开店详细教程(3)- 分配存款方式
  • Tomcat的webapps文件夹
  • FormulaR1C1是EXCEL中单元格公式输入方法
  • 40个在线杀毒网站
  • kb931125—rootsupd_kb931125-rootsupd补丁下载
  • 创业投资——IDG技术创业投资基金
  • JAVA安装教程
  • (转)FPE修改全教程1
  • VUE实现下一页的功能
  • java response.write_response.write()区别response.getWrite().write()
  • 简单卷、跨区卷、带区卷、镜像卷和 RAID-5 卷 区别
  • BitCome比特彗星v1.82豪华版(bt下载)
  • 外贸干货|最完整的外贸出口流程,收藏起来耐心看完!
  • 固态硬盘如何4K对齐?扇区大小,簇大小的影响_固态硬盘扇区
  • 自定义Android应用字体的完整指南
  • 香农编码,哈夫曼编码与费诺编码的比较
  • 嵌入式开发对学历门槛要求高吗?
  • X Window系统(X Window System,也常称为X11或X,天窗口系统)是一种以位图方式显示的软件窗口系统。
  • 一文读懂DDR内存基础知识|值得收藏
  • js中cloneNode()的使用 两个例子
  • API函数大全
  • 【收藏】法律人办案必备检索网站最新汇总!附检索技巧
  • JDK1.6到JDK1.8方法区的变化(大坑)