oracle sql语句学习
时间: 2025-07-02 11:44:48 浏览: 9
### Oracle SQL语句教程及示例
#### 1. 数据查询语句 (SELECT)
`SELECT` 是用于从数据库中检索数据的核心语句。它可以从单个表或多张表中提取所需的数据。
```sql
-- 查询特定列
SELECT column1, column2 FROM table_name;
-- 带条件的查询
SELECT * FROM employees WHERE department_id = 10;
-- 使用聚合函数
SELECT COUNT(*), AVG(salary) FROM employees;
```
通过 `JOIN` 子句可以实现跨多个表的复杂查询[^3]。
---
#### 2. 数据操作语句 (DML)
##### a. 插入数据 (INSERT)
`INSERT` 语句用于向表中添加新记录。
```sql
-- 插入部分字段
INSERT INTO myemp (id, name, salary) VALUES(1, 'jian', 6000);
-- 插入全部字段
INSERT INTO myemp VALUES(1, 'jian', 6000, 10);
-- 批量插入(基于另一表)
INSERT INTO myemp(id, name, salary, dempno) SELECT id, name, salary, dempno FROM otheremp;
```
##### b. 更新数据 (UPDATE)
`UPDATE` 语句用于修改现有记录的内容。
```sql
UPDATE employees SET salary = salary * 1.1 WHERE department_id = 10;
```
##### c. 删除数据 (DELETE)
`DELETE` 语句用于移除表中的记录。
```sql
DELETE FROM employees WHERE employee_id = 101;
```
以上为基本 DML 操作,这些语句构成了日常数据管理的基础[^1]。
---
#### 3. 数据定义语句 (DDL)
`CREATE`, `ALTER`, 和 `DROP` 属于 DDL 类型的操作,主要用于创建、修改或删除数据库对象。
```sql
-- 创建表
CREATE TABLE new_table (
id NUMBER PRIMARY KEY,
name VARCHAR2(50),
hire_date DATE
);
-- 修改表结构
ALTER TABLE new_table ADD email VARCHAR2(100);
-- 删除表
DROP TABLE old_table;
```
此外,还可以利用 `TRUNCATE` 清空整个表而不删除其结构:
```sql
TRUNCATE TABLE large_data_set;
```
---
#### 4. 数据控制语句 (DCL)
`GRANT` 和 `REVOKE` 负责权限管理,允许管理员分配或回收用户的访问权利。
```sql
-- 授予权限
GRANT SELECT, INSERT ON employees TO user_john;
-- 收回权限
REVOKE INSERT ON employees FROM user_jane;
```
这类命令对于保障系统的安全性至关重要[^2]。
---
#### 5. 表复制与结构迁移
以下是几种常见的表复制方法及其用途说明:
```sql
-- 复制表数据到目标表
INSERT INTO target_table SELECT * FROM source_table;
-- 只复制源表的结构而无实际内容
CREATE TABLE structure_only AS SELECT * FROM source_table WHERE 1>1;
-- 同时复制结构和数据
CREATE TABLE full_copy AS SELECT * FROM source_table;
```
注意,在执行涉及大量数据的操作前应评估性能影响并考虑索引重建等问题[^4]。
---
#### 总结
Oracle SQL 提供了一套强大且灵活的语言工具集来满足各种业务需求。无论是简单的增删改查还是复杂的事务处理,都能找到对应的解决方案。
阅读全文
相关推荐







