Oracle SQL操作:表与记录的管理
需积分: 3 183 浏览量
更新于2024-09-24
收藏 6KB TXT 举报
“Oracle SQL笔记,涉及表的创建、删除、记录的添加与删除,以及外键约束、查询、检查约束的使用。”
Oracle SQL是数据库管理中用于操作Oracle数据库的重要工具,这里我们通过一个简单的示例来理解其核心概念。
首先,创建一个名为`TB_BOOK`的表:
```sql
CREATE TABLE jun.TB_BOOK(
book_id NUMBER NOT NULL PRIMARY KEY,
book_name VARCHAR2(100) NOT NULL,
book_price FLOAT NOT NULL,
author_id NUMBER,
book_pagen_numbers NUMBER,
CONSTRAINT fk_book_author_001 FOREIGN KEY (author_id)
REFERENCES jun.tb_author(author_id) -- 外键约束,关联到作者表tb_author的author_id
);
```
在这个例子中,我们定义了一个书籍表,包含书籍ID(主键)、书名、价格、作者ID和页数。`FOREIGN KEY`约束确保`author_id`字段引用的是`jun.tb_author`表中的`author_id`,实现数据的参照完整性。
接着,我们演示了如何删除表:
```sql
DROP TABLE jun.tb_book;
```
这将彻底删除`TB_BOOK`表及其所有数据和约束。
然后,进行数据的插入和查询:
```sql
SELECT * FROM jun.tb_book; -- 查询所有书籍记录
INSERT INTO jun.tb_book(book_id, book_name, book_price, book_pagen_numbers)
VALUES (1006, 'loveqin', 100.0, 500); -- 插入一条新书籍记录
```
删除特定记录:
```sql
DELETE FROM jun.tb_book WHERE book_id = 1001;
```
这里删除了`book_id`为1001的书籍。
复杂的查询操作,例如联接查询:
```sql
SELECT * FROM jun.tb_book b
INNER JOIN jun.tb_author a
ON b.author_id = a.author_id
WHERE b.author_id = (SELECT author_id FROM jun.tb_book WHERE book_id = 1007);
```
这个查询将`TB_BOOK`和`TB_AUTHOR`表联接在一起,找出`book_id`为1007的书籍对应的作者信息。
接下来是约束的管理:
```sql
ALTER TABLE jun.tb_book ADD CONSTRAINT fk_book_author_001
FOREIGN KEY (author_id) REFERENCES jun.tb_author(author_id); -- 添加外键约束
ALTER TABLE jun.tb_book DROP CONSTRAINT fk_book_author_001; -- 删除外键约束
ALTER TABLE jun.tb_book ADD CONSTRAINT check_001 CHECK (book_price < 200); -- 添加检查约束,限制价格小于200
ALTER TABLE jun.tb_book DROP CONSTRAINT check_001; -- 删除检查约束
```
这些语句分别展示了如何添加和删除外键约束以及检查约束,以维护数据的合理性。
最后,创建作者表`TB_AUTHOR`:
```sql
CREATE TABLE jun.tb_author(
author_id NUMBER NOT NULL PRIMARY KEY,
author_name VARCHAR2(2 -- ...
);
```
这个表包含作者ID(主键)和作者名称。
以上就是Oracle SQL笔记中关于创建表、删除表、插入记录、删除记录、查询、外键约束、检查约束等基本操作的介绍。在实际应用中,这些操作构成了数据库管理和数据操作的基础。
2008-06-23 上传
2008-03-19 上传
2013-11-29 上传
2009-11-17 上传
2011-06-22 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
silenceboy_yun
- 粉丝: 5
- 资源: 4
最新资源
- latex2applehelp-开源
- simplyscrawled
- Threejs天空盒示例
- 用Java vue实现的电商后台管理 .zip
- 鳄鱼
- 多种中值滤波器5 点交叉1x2, 1x3, 2x2, 3x3, 3x4,来降低图像中的椒盐噪音
- 日本的鹅肝酱制作揭密
- water-weather:该解决方案由 NodeJS、ExpressJS、Socket IO、ReactJS 和 Arduino(光敏电阻和 TMP36)组成,通过 Johnny Five Lib
- expense-manager-app
- AE音频可视化41.zipae轨道音频可视化模板文件,专门用于制作二次元音乐播放视频 视频剪辑必备 压缩文件解压即可,winal
- WRTnode_边缘测AI计算平台技术及应用场景.rar
- 连接器发送Nagios的性能数据的仙人掌.zip
- MDK5PACK.zip
- 无菌包装的发展趋势与新技术应用
- jrfcviewer-开源
- raml-mocker:节点模块根据RAML剩余定义创建对请求的随机响应