Oracle SQL 实战:创建表、插入数据与参照完整性约束
需积分: 0 185 浏览量
更新于2024-09-11
收藏 70KB DOC 举报
"Oracle SQL语句训练文档,包含创建表、删除记录、插入数据以及建立参照完整性的练习题。"
在ORACLE数据库管理中,SQL语句是核心工具,用于操作和管理数据库对象。以下是对实验内容的详细解释:
1. 创建表和复制表结构:
`CREATE TABLE my_emp AS SELECT * FROM scott.emp WHERE 1 > 2;`
这个语句创建了一个名为`my_emp`的新表,结构与`scott.emp`表相同。然而,由于`WHERE 1 > 2`始终为假,所以没有复制任何记录。如果没有`WHERE`子句,`SELECT *`会复制所有记录到新表,这与原题目的目标——创建一个空表不相符。
复制空表结构的正确方法是:
```sql
CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1 = 2;
```
这里的`1 = 2`确保了没有记录被复制,仅复制表结构。
2. 插入记录:
提供的`INSERT INTO`语句用于向`my_emp`表中插入5条记录。每条记录都包含相同的值,除了`empno`字段。最后一条记录尝试插入的值与其他记录不同,但因为`empno`已存在,这会导致错误,除非在表中添加了主键约束后再进行插入。提交(`COMMIT`)用于确认事务,确保数据持久化。
3. 建立参照完整性:
参照完整性是数据库设计的重要原则,确保数据的一致性和准确性。通过`ALTER TABLE`语句,可以为表添加约束来实现这一目标。
- 首先,为`my_emp`表添加主键约束:
```sql
ALTER TABLE my_emp ADD (CONSTRAINT myemp_empno_pk PRIMARY KEY (empno));
```
- 然后,为`my_dept`表添加主键约束:
```sql
ALTER TABLE my_dept ADD (CONSTRAINT s1 PRIMARY KEY (deptno));
```
- 最后,为`my_emp`表添加外键约束,引用`my_dept`的`deptno`:
```sql
ALTER TABLE my_emp ADD (CONSTRAINT s2 FOREIGN KEY (deptno) REFERENCES my_dept(deptno));
```
这样,`my_emp`表中的`deptno`字段值必须存在于`my_dept`表的`deptno`字段中,确保了部门与员工之间的关联是有效的。
这些练习题旨在帮助用户熟悉Oracle SQL的基本操作,包括创建表、插入数据以及维护数据库的参照完整性。通过这样的训练,用户可以更好地理解和掌握如何在实际环境中操作ORACLE数据库。
2021-10-02 上传
2020-08-01 上传
2012-04-23 上传
2019-10-15 上传
2021-10-02 上传
2021-10-14 上传
2019-05-08 上传
2020-02-22 上传
2019-11-20 上传
狂奔的小小蜗牛
- 粉丝: 0
- 资源: 3
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码