oracle基础系统学习目录
01.CentOS7静默安装oracle11g
02.Oracle的启动过程
03.从简单的sql开始
04.Oracle的体系架构
05.Oracle数据库对象
06.Oracle数据备份与恢复
07.用户和权限管理
08.Oracle的表
09.Oracle表的分区
10.Oracle的同义词与序列
11.Oracle的视图
12.Oracle的索引
13.Oracle通过JDBC连接Java
14.Oracle中的事务
15.Oracle11g的归档方式和日志文件的相关操作
16.Oracle的数据字典和动态性能视图
17.Oracle11g的PL/SQL基础
18.Oracle的过程和函数
19.Oracle11g中的游标
20.Oracle11g中的触发器
21.Oracle的程序包(Package)
22.Oracle中的临时表空间
23.Oracle11g的UNDO表空间
24.Oracle11g的逻辑备份与恢复
25. Oracle的回收站
26.Oracle11g的数据装载
27.Oracle11g的闪回Flashback
28.Oracle11g物化视图
一、sql语句的种类
下面是SQL语句的分类、常用语句、使用方法:
分类 | 语句 | 使用方法 | 解释 |
---|---|---|---|
数据查询 | SELECT | SELECT column1, column2, … FROM table_name WHERE condition; | 用于从表中查询数据,可以指定要返回的列,以及筛选条件。 |
数据插入 | INSERT | INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …); | 用于向表中插入新的数据,指定要插入的列和对应的值。 |
数据更新 | UPDATE | UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition; | 用于更新表中的数据,指定要更新的列和对应的值,以及更新的条件。 |
数据删除 | DELETE | DELETE FROM table_name WHERE condition; | 用于删除表中的数据,指定要删除的数据行的条件。 |
表操作 | CREATE TABLE | CREATE TABLE table_name (column1 datatype, column2 datatype, …); | 用于创建新的数据表,指定表名和列名及其数据类型。 |
ALTER TABLE | ALTER TABLE table_name ADD column_name datatype; | 用于修改已有的数据表结构,添加新的列。 | |
ALTER TABLE table_name MODIFY column_name datatype; | 用于修改已有的数据表结构,修改列的数据类型。 | ||
ALTER TABLE table_name DROP COLUMN column_name; | 用于修改已有的数据表结构,删除列。 | ||
DROP TABLE | DROP TABLE table_name; | 用于删除已有的数据表。 | |
数据库操作 | CREATE DATABASE | CREATE DATABASE database_name; | 用于创建新的数据库。 |
DROP DATABASE | DROP DATABASE database_name; | 用于删除已有的数据库。 | |
数据库备份 | BACKUP | BACKUP DATABASE database_name TO disk = ‘backup_file_path’; | 用于备份数据库中的数据,将数据备份到指定的磁盘路径。 |
数据库恢复 | RESTORE | RESTORE DATABASE database_name FROM disk = ‘backup_file_path’; | 用于恢复数据库中的数据,从指定的磁盘路径中恢复数据。 |
权限管理 | GRANT | GRANT permission ON object TO user; | 用于授予用户对特定对象的权限。权限可以是SELECT、INSERT、UPDATE、DELETE等。 |
GRANT permission ON object TO role; | 用于授予角色对特定对象的权限。权限可以是SELECT、INSERT、UPDATE、DELETE等。 | ||
REVOKE | REVOKE permission ON object FROM user; | 用于撤销用户对特定对象的权限。权限可以是SELECT、INSERT、UPDATE、DELETE等。 | |
REVOKE permission ON object FROM role; | 用于撤销角色对特定对象的权限。权限可以是SELECT、INSERT、UPDATE、DELETE等。 | ||
事务控制 | BEGIN TRANSACTION | BEGIN TRANSACTION; | 用于开始一个事务。 |
COMMIT | COMMIT; | 用于提交一个事务,将事务中的操作永久保存到数据库中。 | |
ROLLBACK | ROLLBACK; | 用于回滚一个事务,撤销事务中的操作,恢复到事务开始之前的状态。 |
请注意,这只是每个分类下的常用语句示例,实际上还有更多的SQL语句和命令可供使用。使用方法也可能因不同的数据库管理系统而有所不同,需要根据具体情况进行调整。解释部分提供了对每个语句用途的简要说明。
二、oracle的工作原理
Oracle是一种关系型数据库管理系统(RDBMS),它的工作原理是基于客户端/服务器架构。下面是一个简单的例子来说明Oracle的工作方式:
-
客户端连接:首先,一个客户端应用程序(例如,一个网站或一个桌面应用程序)通过网络连接到Oracle数据库服务器。
-
查询发送:客户端应用程序发送一个SQL查询请求给数据库服务器。例如,客户端可能发送一个查询请求以获取某个表中的所有记录。
-
查询解析和优化:数据库服务器接收到查询请求后,会进行查询解析和优化的过程。在这个过程中,服务器会解析查询语句,确定查询的语义和语法,并且优化查询的执行计划。
-
执行查询:一旦查询被解析和优化,数据库服务器就会执行查询。它会根据查询的执行计划,访问存储在磁盘上的数据,并将结果返回给客户端。
-
数据存储和管理:Oracle使用表来存储数据。表由列和行组成,每一列代表一个特定的数据类型,每一行代表一个记录。Oracle还提供了事务管理和数据完整性的功能,以确保数据的安全性和一致性。
-
数据缓存和缓冲:为了提高查询性能,Oracle使用了数据缓存和缓冲机制。数据缓存是在内存中存储的数据副本,用于加速常用查询的执行。缓冲则是用于减少对磁盘的读写操作,通过将数据暂时保存在内存中。
-
事务管理:Oracle支持事务管理,这意味着多个查询可以作为一个逻辑单元进行处理。如果一个事务失败,所有对数据库的修改都会被回滚,以保持数据的一致性。
-
数据备份和恢复:为了保护数据免受硬件故障或其他灾难性事件的影响,Oracle提供了数据备份和恢复的功能。管理员可以定期备份数据库,并在需要时恢复到之前的状态。
总的来说,Oracle通过客户端/服务器架构、查询解析和优化、数据存储和管理、数据缓存和缓冲、事务管理以及数据备份和恢复等功能,提供了一个高效、可靠和安全的关系型数据库管理系统。
三、oracle数据库常见基础命令
命令如下:
命令 | 作用 |
---|---|
sqlplus / as sysdba | 以系统管理员(sysdba)身份连接数据库 |
startup | 启动数据库 |
shutdown | 关闭数据库 |
select status from v$instance; | 查看数据库状态 |
select user from dual; | 查看当前用户 (dual表是oracle用来构造完整函数的) |
Create user test identified by test default tablespace users; | 创建一个叫test的用户,其密码也为test |
grant dba to test; | 给test用户 |
select * from tab; | 查看所有表 |
示例如下:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 1 17:28:39 2023
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1286066176 bytes
Fixed Size 2213016 bytes
Variable Size 352324456 bytes
Database Buffers 922746880 bytes
Redo Buffers 8781824 bytes
Database mounted.
Database opened.
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1286066176 bytes
Fixed Size 2213016 bytes
Variable Size 352324456 bytes
Database Buffers 922746880 bytes
Redo Buffers 8781824 bytes
Database mounted.
Database opened.
SQL> select user from dual;
USER
------------------------------
SYS
SQL> select 1;
select 1
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SQL> select 1 from dual;
1
----------
1
SQL> Create user test identified by test default tablespace users;
User created.
SQL> grant dba to test;
Grant succeeded.
SQL> connect test/test; # 连接到test用户
Connected.
SQL> create table t(id int, name varchar2(10));
Table created.
SQL> insert into t values(1,me);
insert into t values(1,me)
SQL> Commit; # 提交
Commit complete.
SQL> insert into t values(1,'me');
1 row created.
SQL> Update t set name = 'my' where id =1;
1 row updated.
SQL> Delete from t where id =1;
1 row deleted.
SQL> Drop table t purge;
Table dropped.
SQL> connect / as sysdba
Connected.
SQL> Drop user test;
User dropped.
SQL>