数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率;

一、创建表的同时创建主键约束

(1)无命名

create table student (

studentid int primary key not null,

studentname varchar(8),

age int);

(2)有命名

create table students (

studentid int ,

studentname varchar(8),

age int,

constraint yy primary key(studentid));

2、删除表中已有的主键约束

(1)有命名

alter table students drop constraint yy;

(2)无命名

可用 SELECT   *   from   user_cons_columns;

查找表中主键名称得student表中的主键名为SYS_C002715

alter table student drop constraint SYS_C002715;

3、向表中添加主键约束

alter table student add constraint pk_student primary key(studentid);

3、当创建主键时,本来主键列有数据,而且有重复的:此时必须先删除重复数据再创建:

delete  from Tb_TEST       a where rowid !=(select max(rowid)      from Tb_TEst     b where a.test_ID=b.test_ID  );

二、创建索引

create Index IX_xxxx   on table_name (colummname);

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-03/33777.htm

Oracle 添加主键和索引的更多相关文章

  1. SQL语句新建表,同时添加主键、索引、约束

    SQL语句新建数据表   主键,索引,约束 CREATE TABLE [dbo].[T_SendInsideMessageRec]( [SendInsideMID] [uniqueidentifier ...

  2. oracle 建立主键与索引【转】

    此文转自:http://blog.sina.com.cn/s/blog_439f80c4010094n1.html 创建主键: alter table T add primary key (V) T是 ...

  3. MySQL添加主键、索引

    查看索引  SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段 ...

  4. Oracle不能并行直接添加主键的方法:先建唯一索引后建主键

    环境:Oracle 11.2.0.3 需求:生产一张表由于前期设计不当,没有主键.现需要添加主键,数据量很大,想并行建立. 1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键 SQL ...

  5. Oracle并行添加主键的方法

    环境:Oracle 11.2.0.3 需求:生产一张表由于前期设计不当,没有主键.现需要添加主键,数据量很大,想并行建立.   1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键 S ...

  6. Oracle使用游标为所有用户表添加主键语句

    应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...

  7. Oracle基础维护02-表、主键、索引、表结构维护手册

    目录 一.项目新建表.主键.索引注意事项 二.举例说明建表.主建.索引的操作方法 2.1 设定需求如下 2.1.1 查询数据库有哪些表空间 2.1.2 本文档假设数据库有这两个业务用户的表空间 2.2 ...

  8. Oracle之主键的创建、添加、删除操作

    一.创建表的同时创建主键约束 1.1.无命名 SQL)); Table created SQL> select table_name,index_name from user_indexes w ...

  9. Oracle删除主键约束的同时删除索引

    继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...

随机推荐

  1. PCIE BAR空间

    PCIE应用程序编程,首先就要理清PCIE BAR空间到底说的是什么.在PCIE配置空间里,0x10开始后面有6个32位的BAR寄存器,BAR寄存器中存储的数据是表示PCIE设备在PCIE地址空间中的 ...

  2. rpm -e 包名 卸载安装的二进制包

    rpm -e --nodeps nc-.el6.x86_64 #--nodeps 不包含依赖包,直接删除rpm包

  3. python 开发在线音乐播放器-简易版

    在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...

  4. 多重连接的数据库管理工具:Navicat Premium

    多重连接的数据库管理工具:Navicat Premium 2016-09-26 Navicat Premium(非免费软件)是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到MySQL.O ...

  5. Spring Boot干货系列:(一)优雅的入门篇

    Spring Boot干货系列:(一)优雅的入门篇 2017-02-26 嘟嘟MD 嘟爷java超神学堂   前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社 ...

  6. sqlserver中sp_executesql使用实例(获取动态sql输出结果)

    语法 sp_executesql [ @stmt = ] stmt [     {, [@params=] N'@parameter_name data_type [ [ OUT [ PUT ][,. ...

  7. jquery ajax异步提交表单数据的方法

    使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的: 处理表单的数据可以用serialize()方法进行序列化,而如果提交的数据 ...

  8. kmp返回头位置的模板

    #include<iostream> #include<stdio.h> #include<string.h> using namespace std; char ...

  9. 【WPF】MVVM动态修改Bingding的另一种思路——用Style样式

    问题场景: 界面上有个ListBox控件,它的内容Item绑定了一个列表,即 ItemsSource =”{Binding StudentList}”.这个StudentList列表在该界面View对 ...

  10. web应用中文乱码问题的原因分析

    为了让使用Java语言编写的程序能在各种语言的平台下运行,Java在其内部使用Unicode字符集来表示字符,这样就存在Unicode字符集和本地字符集进行转换的过程.当在Java中读取字符数据的时候 ...