Oracle SQL语句大全:增删查改与复杂查询
需积分: 10 118 浏览量
更新于2024-09-25
1
收藏 5KB TXT 举报
"这篇文档是关于Oracle SQL语句的全面总结,涵盖了基本的数据库操作,如创建、修改、删除表,以及数据的插入、更新和删除。还涉及到复杂的查询技巧和约束条件的管理。"
在Oracle数据库管理中,SQL(结构化查询语言)是核心工具,用于与数据库进行交互。以下是一些重要的SQL知识点:
1. 创建表(Create Table):`CREATE TABLE temp AS SELECT * FROM emp WHERE 1=2;` 这条语句创建了一个名为`temp`的新表,其结构与`emp`表相同,但不包含任何数据,因为`WHERE 1=2`的条件始终为假。
2. 重命名表(Rename Table):`RENAME person TO tperson;` 用于将表`person`改名为`tperson`。
3. 选择查询(Select):`SELECT per_id, name, to_char(tran_date, 'yyyy/mm/dd'), tran_val FROM save_info;` 这个查询返回`save_info`表中的`per_id`、`name`、格式化的`tran_date`和`tran_val`。
4. 插入数据(Insert):`INSERT INTO save_info VALUES ('12156', '', TO_DATE('2011.12.21', 'yyyy.mm.dd'), 1212.12);` 向`save_info`表中插入一条新记录。
5. 查看表结构(Describe):`DESCRIBE tab;` 显示`tab`表的列名和相关属性。
6. 删除表(Drop Table):`DROP TABLE emp;` 删除名为`emp`的表。
7. 删除数据(Delete):`DELETE FROM emp WHERE empno=*;` 从`emp`表中删除满足特定条件(此处是`empno=*`)的行。
8. 更新数据(Update):`UPDATE emp SET sal=sal+1000 WHERE sal<2000;` 将`emp`表中薪资小于2000的所有员工的薪资增加1000。
9. 修改表结构(Alter Table):
- `ALTER TABLE save_info MODIFY (per_id VARCHAR2(10));` 修改`save_info`表的`per_id`列,将其长度限制改为10。
- `ALTER TABLE save_info ADD CONSTRAINT pm PRIMARY KEY (per_id);` 为`save_info`表添加一个名为`pm`的主键约束,主键字段为`per_id`。
- `ALTER TABLE save_info DROP PRIMARY KEY;` 删除`save_info`表的主键约束。
- `ALTER TABLE save_info MODIFY (per_id NULL);` 允许`save_info`表的`per_id`列可以为空。
- `ALTER TABLE person DROP CONSTRAINT person_age_ck;` 删除`person`表上名为`person_age_ck`的约束。
- `ALTER TABLE save_info DROP (per_id, name);` 删除`save_info`表的`per_id`和`name`列。
- `ALTER TABLE save_info ADD (per_id VARCHAR2(10), name VARCHAR2(20));` 在`save_info`表中添加新的`per_id`和`name`列。
10. 查询技巧:
- `SELECT empno, ename, NVL(comm, 0), (sal+NVL(comm, 0))*12 income FROM emp;` 使用NVL函数处理NULL值,计算每个员工的年收入。
- 复杂的多表联接查询,例如:`SELECT e.ename, e.job, m.ename, d.dname FROM emp e, emp m, dept d WHERE e.mgr = m.empno AND e.deptno = d.deptno;` 这是连接`emp`表(两次)和`dept`表的示例,查找员工与其上级以及部门的信息。
这些SQL语句和技巧在实际的数据库管理和数据分析中非常常见,掌握了它们能够有效提升数据库操作的效率和准确性。
2007-12-28 上传
2009-12-13 上传
2014-01-01 上传
2023-05-24 上传
lm5210lm5210
- 粉丝: 37
- 资源: 18
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明