03.从简单的sql开始

从简单的sql开始

  • 一、sql语句的种类
  • 二、oracle的工作原理
  • 三、oracle数据库常见基础命令

一、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的工作方式:

  1. 客户端连接:首先,一个客户端应用程序(例如,一个网站或一个桌面应用程序)通过网络连接到Oracle数据库服务器。

  2. 查询发送:客户端应用程序发送一个SQL查询请求给数据库服务器。例如,客户端可能发送一个查询请求以获取某个表中的所有记录。

  3. 查询解析和优化:数据库服务器接收到查询请求后,会进行查询解析和优化的过程。在这个过程中,服务器会解析查询语句,确定查询的语义和语法,并且优化查询的执行计划。

  4. 执行查询:一旦查询被解析和优化,数据库服务器就会执行查询。它会根据查询的执行计划,访问存储在磁盘上的数据,并将结果返回给客户端。

  5. 数据存储和管理:Oracle使用表来存储数据。表由列和行组成,每一列代表一个特定的数据类型,每一行代表一个记录。Oracle还提供了事务管理和数据完整性的功能,以确保数据的安全性和一致性。

  6. 数据缓存和缓冲:为了提高查询性能,Oracle使用了数据缓存和缓冲机制。数据缓存是在内存中存储的数据副本,用于加速常用查询的执行。缓冲则是用于减少对磁盘的读写操作,通过将数据暂时保存在内存中。

  7. 事务管理:Oracle支持事务管理,这意味着多个查询可以作为一个逻辑单元进行处理。如果一个事务失败,所有对数据库的修改都会被回滚,以保持数据的一致性。

  8. 数据备份和恢复:为了保护数据免受硬件故障或其他灾难性事件的影响,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用户

示例如下:

[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>

你可能感兴趣的:(oracle学习,oracle,运维,dba)