Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富多样,对于初学者来说,掌握一些常用的Oracle语句是入门的关键。以下是一些Oracle数据库中的核心知识点:
1. 数据库连接与登录:
- `sqlplus 用户名/密码@连接标识符`:这是连接Oracle数据库的命令,如`sqlplus scott/tiger@ORCL`,其中`scott`是用户名,`tiger`是密码,`ORCL`是数据库实例名。
2. 查看数据库信息:
- `SELECT * FROM v$version;`:显示Oracle版本信息。
- `SELECT * FROM v$database;`:查看当前数据库的基本信息。
- `SHOW USER;`:显示当前登录的用户。
3. 表的操作:
- `CREATE TABLE 表名 (列名 数据类型, ...);`:创建表。
- `ALTER TABLE 表名 ADD (新列名 数据类型);`:向已存在的表添加列。
- `DROP TABLE 表名 CASCADE CONSTRAINTS;`:删除表及其依赖关系。
- `TRUNCATE TABLE 表名;`:清空表数据(速度快,无回滚信息)。
- `DELETE FROM 表名 WHERE 条件;`:删除满足条件的记录(有回滚信息)。
4. 数据插入、更新与查询:
- `INSERT INTO 表名 VALUES (值1, 值2, ...);`:插入单行数据。
- `INSERT INTO 表名 SELECT * FROM 其他表;`:从其他表复制数据。
- `UPDATE 表名 SET 列名 = 新值 WHERE 条件;`:更新数据。
- `SELECT * FROM 表名 WHERE 条件;`:查询数据,条件可以是各种比较运算符和逻辑运算符组合。
5. 索引:
- `CREATE INDEX 索引名 ON 表名 (列名);`:创建索引,提高查询速度。
- `DROP INDEX 索引名;`:删除索引。
6. 视图:
- `CREATE VIEW 视图名 AS SELECT * FROM 表名 WHERE 条件;`:创建视图,提供简化查询。
- `SELECT * FROM 视图名;`:查询视图数据。
- `DROP VIEW 视图名;`:删除视图。
7. 分组与聚合函数:
- `GROUP BY 列名1, 列名2;`:按列进行分组。
- `HAVING 条件;`:在分组后过滤数据。
- `COUNT(), SUM(), AVG(), MAX(), MIN();`:常用的聚合函数。
8. 连接操作:
- `SELECT * FROM 表1 JOIN 表2 ON 表1.关联列 = 表2.关联列;`:内连接。
- `SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.关联列 = 表2.关联列;`:左连接。
- `SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.关联列 = 表2.关联列;`:右连接。
9. 子查询:
- `(SELECT ... FROM ...) AS 子查询别名`:嵌套查询,可以用作结果集的一部分。
10. 事务控制:
- `BEGIN;`:开始一个事务。
- `COMMIT;`:提交事务,保存所有更改。
- `ROLLBACK;`:回滚事务,撤销所有更改。
11. 权限管理:
- `GRANT 权限 TO 用户名;`:赋予用户权限。
- `REVOKE 权限 FROM 用户名;`:撤销用户权限。
以上只涵盖了Oracle数据库中最基础和最常用的SQL语句,实际使用中还有许多高级特性,如游标、存储过程、触发器、分区表等,需要根据具体需求进一步学习。Oracle数据库的学习需要时间和实践,但掌握这些基本语句,对于新手来说已经能够进行日常的数据操作了。