转载自:
http://www.anbob.com/?p=137
根据数据库三范式就是每个表建议要有主键,每个字段不可再分,表与之间不存在部分依赖
数据库的优化首先考虑的也是主键
主键会在对应的字段加唯一约束、加not null,建 索引
怎么为表加主键呢
1,建表同时
SQL> create table test13 (id int primary key);
Table created.
2,建表后加字段时
SQL> alter table test12 add id2 int primary key;
Table altered.
3,主键字段存在时
SQL> select constraint_name from user_constraints where table_name=’TEST12′;
CONSTRAINT_NAME
————————————————————
SYS_C0010610
SQL> alter table test12 drop constraint SYS_C0010610
2 ;
Table altered.
SQL> alter table test12 add id1 int;
Table altered.
SQL> alter table test12 add constraint pk_id1_t12 primary key(id1);
Table altered.
完成!
ps:如果在要加主键的字段的值中有空值或不唯一,就会报错,有空值时报
SQL> alter table test12 add constraint pk_id1_t12 primary key(id1);
alter table test12 add constraint pk_id1_t12 primary key(id1)
*
ERROR at line 1:
ORA-01449: column contains NULL values; cannot alter to NOT NULL
分享到:
相关推荐
本篇文章将详细讲解如何在Oracle数据库中批量添加主键。 首先,我们可以通过SQL查询来找出所有没有主键的表。以下是一个示例查询: ```sql SELECT table_name FROM user_tables a WHERE NOT EXISTS ( SELECT * ...
删除主键可能会导致引用此主键的外键约束失效,而添加主键可能需要对已有数据进行检查,确保它们满足主键的唯一性要求。在执行这些操作前,最好先备份数据,以防止可能出现的意外情况。 通过理解并熟练掌握这些命令...
### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...
在Oracle数据库系统中,主键(Primary Key)是表中的一个或一组字段,它们的值在整张表中是唯一的,用于唯一标识每一条记录。然而,与MySQL等其他数据库不同,Oracle并没有内置的自动递增(auto-increment)功能来...
Oracle GoldenGate 针对表没有主键或唯一索引的解决方案 Oracle GoldenGate 是一种 数据复制和集成工具,用于在不同的数据库管理系统之间复制和集成数据。然而,在使用 Oracle GoldenGate 复制事务数据时,如果表...
2. **修改已存在的表添加主键**:使用ALTER TABLE语句添加`CONSTRAINT`并指定主键。 接着,我们来看外键。外键是用来连接两个表的字段,它引用了另一个表(主表)的主键,以建立两个表之间的关联。外键的作用在于:...
- **pom.xml**:添加Oracle JDBC驱动的依赖,由于授权问题,可能需要从Oracle官网下载后本地安装。 ```xml <groupId>com.oracle</groupId> <artifactId>ojdbc14 <version>10.2.0.4.0 ``` - **db....
在本次Oracle建表练习中,我们将会重点讨论建表时使用的主键(Primary Key)和外键(Foreign Key)概念。 首先,我们来详细了解一下主键的概念。主键是数据库表中每一行记录的唯一标识,它保证了表中的每条记录都能...
如果后来想添加主键,可以使用`ALTER TABLE`语句: ```sql ALTER TABLE 表名 ADD CONSTRAINT 主键约束名 PRIMARY KEY (列名); ``` 4. 外键: 外键用于在两个表之间建立关系,确保引用完整性。创建外键的语法如下:...
### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...
详细介绍了oracle的常见约束,表级约束(主键),列级约束,唯一性约束,外键约束,并介绍了如何给相应的约束命名
如果`table2`已经存在,`CTAS`会失败,除非你添加`OR REPLACE`选项。 在提供的"测试插入.sql"文件中,可能包含了使用这些语句的实际示例。通常,这样的脚本会包含一系列的`INSERT INTO SELECT`或`CTAS`命令,用于从...
在Oracle数据库管理系统中,创建表空间、表、主键、外键和序列是数据库设计的基础操作。以下是对这些概念的详细解释以及如何在Oracle中执行这些操作。 **创建表空间** 表空间是Oracle数据库中存储数据文件的地方。...
在Oracle数据库中,创建主键自增表以及利用触发器实现这一功能是常见的操作,尤其在需要维护唯一标识符的场景下。以下是对这个过程的详细解释: 首先,我们来看如何创建一个包含自增主键的表。在Oracle中,与MySQL...
-- 添加主键约束的语句 END IF; END; ``` 4. **判断Oracle表是否存在外键的方法**: 同样,通过`USER_CONSTRAINTS`视图,但这次查找`constraint_type = 'R'`(表示引用约束,即外键)和特定的约束名称: ```...
在Oracle数据库中,主键是表的一个或多个字段,用于唯一标识表中的每一条记录,确保数据的完整性和一致性。由于Oracle数据库不直接支持类似Access或SQL Server中的自增字段,因此在Oracle中生成主键通常需要利用序列...
在Oracle数据库中,主键和外键是关系型数据库中非常重要的概念,它们用于确保数据的一致性和完整性。主键是定义在一个表中用来唯一标识每一行的字段,而外键则是另一个表中的字段,它引用了主键来建立两个表之间的...
在数据集成和ETL(提取、转换、加载)过程中,Oracle Data Integrator (ODI) 是一个强大的工具,但在处理没有主键的表时,ODI面临一些挑战。主键是数据库中用于唯一标识记录的关键字段,但在某些业务系统中,如...
Oracle 中创建表、序列、自增字段、添加注释、添加记录、添加触发器、提交的知识点总结 Oracle 中创建表是指在 Oracle 数据库中创建一个新的表结构,以存储特定的数据。在创建表时,需要指定表的名称、字段名称、...