Oracle数据库建表命令详解

需积分: 9 3 下载量 88 浏览量 更新于2024-09-18 收藏 17KB DOCX 举报
"Oracle数据库建表命令的全面总结,涵盖了主键、外键、唯一性、自定义检查、非空、默认值以及约束的添加、删除和修改方法。" 在Oracle数据库中,创建表是数据库设计的基础步骤。下面将详细讨论在Oracle中建立表时常用的各种命令和限制: 1. 主键(Primary Key):主键是用来确保表中记录的唯一性的约束。一个表只能有一个主键,并且主键列的值不能为NULL。创建主键的命令通常是在建表时或建表后添加,例如: - 建表时添加主键: ```sql CREATE TABLE table_name ( col_name1 col_type, col_name2 col_type, PRIMARY KEY (col_name1) ); ``` - 建表后添加主键: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (col_name); ``` 2. 外键(Foreign Key):外键用于维护两个表之间的引用完整性,它引用另一个表的主键或唯一性约束列。外键可以有重复值,且允许为空。添加外键约束的命令如下: ```sql ALTER TABLE child_table ADD CONSTRAINT constraint_name FOREIGN KEY (col_name) REFERENCES parent_table (col_name); ``` 外键参照的列必须是参照表的主键或具有唯一性约束。 3. 唯一性(Unique):唯一性约束保证了除了主键之外的列值的唯一性,但允许为空。例如: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (col_name); ``` 4. 自定义检查(Check):用户可以根据需求定义列的特定条件。如: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (col_name condition); ``` 5. 非空(Not Null):非空约束确保列的值不能为NULL。添加和删除非空约束的命令如下: - 添加非空约束: ```sql ALTER TABLE table_name MODIFY col_name NOT NULL; ``` - 取消非空约束: ```sql ALTER TABLE table_name MODIFY col_name NULL; ``` 6. 默认值(Default):默认值设定当没有指定值时,列会自动填充该默认值。例如: ```sql ALTER TABLE table_name MODIFY col_name DEFAULT default_value; ``` 7. 添加、删除约束:删除主键约束时,由于一个表只有一个主键,可以使用`DROP PRIMARY KEY`,而删除其他约束则需提供约束名称: ```sql ALTER TABLE table_name DROP CONSTRAINT constraint_name; ``` 若想在删除主键时同时删除所有相关的外键,可以使用`CASCADE`选项: ```sql ALTER TABLE table_name DROP PRIMARY KEY CASCADE; ``` 8. 删除表:当一个表包含其他表的外键引用时,可以使用`CASCADE CONSTRAINTS`选项来删除表及其关联的约束: ```sql DROP TABLE table_name CASCADE CONSTRAINTS; ``` 这些命令和约束在Oracle数据库管理中扮演着重要角色,它们帮助构建和维护数据的完整性和一致性。了解并熟练掌握这些操作,对于数据库设计和维护来说至关重要。