>  기사  >  데이터 베이스  >  Oracle 12c의 SQLPlus 작업 사용법 요약

Oracle 12c의 SQLPlus 작업 사용법 요약

WBOY
WBOY앞으로
2022-07-20 14:33:142551검색

이 기사에서는 Oracle에 대한 관련 지식을 제공하며, 주로 12c에서 SQLPlus의 운영 및 사용과 관련된 문제와 Oracle에서 SYS와 SYSTEM 사용자의 차이점 등을 정리합니다. 함께, 모두에게 도움이 되기를 바랍니다.

추천 튜토리얼: "coracle 비디오 튜토리얼

" Oracle 12c의 SQLPlus 작업 사용법 요약

1. SQLPlus 버전 번호 보기

(1) DOS 명령에서 보기 위한 CMD, 입력:

SQLPlus -V

(2) sqlplus를 활성화한 후 다음을 입력합니다.

select * from V$VERSION;

2.sqlplus 입력 방법

(1)Windows10 환경은 시작 메뉴에서 SQLPLUS를 찾아 클릭하여

을 엽니다. (2) Win 키 + R 키를 눌러 실행 창을 열고 sqlplus를 입력합니다.

(3) Win 키 + R 키를 눌러 실행 창을 열고 cmd를 입력한 다음 sqlplus

3. Oracle에서 SYS 사용자와 SYSTEM 사용자의 차이점

sys, system, sysman

이 세 명의 사용자는 당신이 설치할 때 설정한 비밀번호입니다. Oracle 로그인 ID에는 세 가지 유형이 있습니다. normal 일반 ID

,

sysdba 시스템 관리자 ID, sysoper 시스템 운영자 ID , 각 정체성에 해당 다른 권한으로.

SYS 사용자는 슈퍼 사용자 이고, 최고 권한이 이고, SYSDBA 역할이 있고, 데이터베이스 관리자 권한이 있으며, 데이터베이스를 생성할 수 있습니다. - 데이터베이스 권한을 생성했습니다 . SYSTEM 사용자는 관리 운영자

이며 SYSOPE 역할이 있고 데이터베이스 운영자 권한이 있으며 데이터베이스를 생성할 수 없습니다.

에는 데이터베이스 생성 권한 이 없습니다. 4. Oracle 데이터베이스 전역 데이터베이스 이름 및 SID 보기 전역 데이터베이스 이름 보기: v$database에서 이름 선택;

SID 보기: v$instance;5. oracle

의 SQL에서 주석 사용

한 줄 주석은 --로 시작합니다. 예: -- 이 문장에서 현재 문장 보기 Usernameselect user from Dual

/*로 시작하고 그 뒤에 공백이 있고, */로 끝나고 앞에 공백이 있는 여러 줄 주석입니다. 예:

/* 여러 줄 주석,

다음 문 예 현재 사용자 이름 보기*/

select user from Dual;

6. 데이터베이스에 연결

구문

CONN[ ECT] [{ 로그인 | 있습니다 다음 구문:

Username

[/password] [@connect_identifier]

여기서 proxy 구문은 다음과 같습니다.

프록시 사용자

[username] [/ Password] [ @connect_identifier]

참고: agent에서 username 주위의 괄호는 필수 구문이지 선택적 용어를 나타내는 것이 아닙니다. 예를 들어, 프록시를 통해 사용자에 연결하려면 비밀번호를 사용하십시오. scotthrwelcome1Connect hr[scott]/welcome1

예제 1scotthrwelcome1连接 hr[scott]/welcome1

例子 1

这个简单的示例以用户身份连接到本地数据库。SQL*加会提示输入用户密码。SYSTEMSYSTEM

connect system

例子 2

此示例以具有特权的用户身份连接到本地数据库。SQL*加会提示输入用户密码。SYSSYSDBASYS

connect sys as sysdba

以用户身份连接时,必须连接 。SYSAS SYSDBA

例子 3

此示例使用操作系统身份验证的特权进行本地连接。SYSDBA

connect / as sysdba

例子 4

此示例使用简单的连接语法以用户身份连接到在主机 上运行的远程数据库。Oracle Net 侦听器(侦听器)正在侦听默认端口 (1521)。数据库服务是 。SQL*加会提示输入用户密码。salesadmindbhost.example.comsales.example.comsalesadmin이 간단한 예는 사용자로 로컬 데이터베이스에 연결합니다. SQL* Plus는 사용자 비밀번호를 묻는 메시지를 표시합니다. SYSTEMSYSTEM

connect salesadmin@"dbhost.example.com/sales.example.com"
예제 2

이 예는 권한 있는 사용자로 로컬 데이터베이스에 연결합니다. SQL* Plus는 사용자 비밀번호를 묻는 메시지를 표시합니다. SYSSYSDBASYS

connect salesadmin@"dbhost.example.com/sales.example.com:dedicated"
사용자로 접속 시 반드시 접속해야 합니다. SYSAS SYSDBA

예제 3

이 예는 운영 체제 인증 권한을 사용하여 로컬로 연결합니다. SYSDBA

connect salesadmin@"dbhost.example.com:1522/sales.example.com"

예제 4

이 예에서는 간단한 연결 구문을 사용하여 호스트 시스템에서 실행 중인 원격 데이터베이스에 사용자로 연결합니다. Oracle Net 리스너(리스너)는 기본 포트(1521)에서 수신하고 있습니다. 데이터베이스 서비스는 입니다. SQL* Plus는 사용자 비밀번호를 묻는 메시지를 표시합니다. salesadmindbhost.example.comsales.example.comsalesadmin

connect salesadmin@"192.0.2.5/sales.example.com"

예제 5

이 예는 서비스 핸들러 유형이 표시된 것을 제외하고 예 4와 동일합니다. .

connect salesadmin@"[2001:0DB8:0:0::200C:417A]/sales.example.com"

예제 6

이 예는 리스너가 기본이 아닌 포트 번호 1522에서 수신 대기하고 있다는 점을 제외하면 예 4와 동일합니다.

connect salesadmin@"dbhost.example.com//orcl"
🎜🎜🎜예제 7🎜🎜🎜🎜🎜🎜🎜이 예는 호스트 IP 주소가 호스트 이름으로 대체된다는 점을 제외하면 예 4와 동일합니다. 🎜🎜🎜
connect salesadmin@sales1
🎜🎜🎜🎜예제 8🎜🎜🎜🎜🎜🎜🎜이 예에서는 IPv6 주소를 사용하여 연결합니다. 주변의 대괄호를 확인하세요. 🎜🎜🎜
connect /@sales1
🎜🎜🎜🎜예제 9🎜🎜🎜🎜🎜🎜🎜이 예에서는 연결할 인스턴스를 지정하고 데이터베이스 서비스 이름을 생략합니다. 기본 데이터베이스 서비스를 지정해야 합니다. 그렇지 않으면 오류가 생성됩니다. 인스턴스만 지정할 경우에는 서비스 핸들러 유형을 지정할 수 없습니다. 🎜🎜🎜
connect /@sales1 as sysdb
🎜🎜🎜🎜예 10🎜🎜🎜🎜

此示例以用户身份远程连接到由网络服务名称 指定的数据库服务。SQL*加会提示输入用户密码。salesadminsales1salesadmin

connect salesadmin@sales1

例子 11

本示例使用外部身份验证远程连接到由网络服务名称 指定的数据库服务。sales1

connect /@sales1

例子 12

此示例使用权限和外部身份验证远程连接到由网络服务名称 指定的数据库服务。SYSDBAsales1

connect /@sales1 as sysdb

例子 13

此示例以用户身份远程连接到由网络服务名称 指定的数据库服务。数据库会话在版本中启动。SQL*加会提示输入用户密码。salesadminsales1rev21salesadmin

connect salesadmin@sales1 edition=rev21

例子 14

要使用用户名 HR 跨 Oracle Net 连接到 Oracle Net 别名称为 FLEETDB 的数据库,请输入

CONNECT HR@FLEETDB

例子 15

要以名为 HR 的特权用户身份连接到当前节点上的实例,请输入

CONNECT HR AS SYSDBA

例子 16

要以特权默认用户身份连接到当前节点上的实例,请输入

CONNECT / AS SYSDBA

在最后两个示例中,默认架构变为 SYS。

7.  断开用户与Oracle数据库服务器的连接

 exit 退出即可

8. 用户的操作使用 

(1)创建表空间

create tablespace 表空间的名 datafile '数据文件' size xxxm;

        数据文件:全名如d:\data.dbf,表空间的存储位置

        xxx:表空间的大小,m单位为兆(M)

【为用户指定表空间】

alter user 用户名 default tablespace 表空间名;

为用户指定临时表空间:

alter user 用户名 temporary tablespace 表空间名;

【删除空的表空间,但是不包含物理文件】

drop tablespace 表空间名;

删除空表空间,包含物理文件(数据文件):

drop tablespace 表空间名 including datafiles;

如果其他表空间中的表有外键等约束关联到了本表空间中的表的列,就要加上CASCADE CONSTRAINTS,如:drop tablespace 表空间名 including datafiles cascade constraint

注意:如果多个用户使用相同的表空间,删除用户时不要删除表空间

(2)创建用户

create user 用户名 identified by 密码;

【创建用户同时可以指定表空间】

비밀번호로 식별되는 사용자 사용자 이름 생성 기본 테이블스페이스 테이블스페이스 이름;

【사용자 및 연속 관계 삭제】

사용자 이름 계단식 삭제 ;

캐스케이드를 지정하면 사용자 아래의 모든 개체(테이블, 뷰, 기본 키, 외래 키, 인덱스 등 포함)가 삭제되지만 저장 프로시저, 함수 및 패키지는 삭제되지 않습니다. 지정하지 않으면 사용자만 삭제합니다. 일반적으로

[사용자 정보 조회]

oracle을 지정하는 것이 좋습니다. 현재 사용자 이름 보기:

사용자 표시 또는 듀얼에서 사용자 선택

oracle 모든 사용자 이름 보기:

select * from all_users;

sys, system과 같은 dba 권한이 있는 계정):

select * from dba_users;

SELECT 쿼리 문의 별표 *는 모든 열을 나타냅니다

관리할 수 있는 모든 사용자 보기:

select * from all_users;

현재 사용자 정보 보기:

select * from user_users;

사용자 공간에 해당하는 테이블 쿼리:

select username,default_tablespace from dba_users;

제한 사항을 사용하여 사용자에 해당하는 테이블 공간 쿼리:

username = '대문자 Username';

(3) 사용자에게 공간을 사용자 USERNAME DEFAULT 테이블 스페이스 테이블 스페이스 이름으로 할당하는 DBA_USERS에서 사용자 이름, DEFAULT_ TABLESPACE를 선택하십시오. (4) 사용자에게

사용자 이름에 권한 부여;

생성된 사용자는 기본적으로 권한이 없으므로 권한을 할당해야 합니다.

동일한 데이터베이스에 로그인하는 사용자마다 볼 수 있는 테이블 수가 다르고 권한도 다를 수 있습니다. Oracle의 권한은 시스템 권한과 데이터 개체 권한으로 나누어져 있으며, 사용자에게 개별적으로 권한을 부여하는 것은 매우 번거로운 일이므로 이러한 사용자는 동일한 범주, 즉 특정 역할로 분류됩니다. . 미리 결정된 권한으로 일부 역할을 설정하여 작업을 단순화하고 명확하게 승인합니다. 역할의 동기는 권한 관리를 단순화하는 것입니다. 일반적인 접근 방식은 시스템이 역할에 권한을 할당한 다음 사용자에게 역할을 할당하는 것입니다. 물론 특정 권한을 사용자에게 직접 할당할 수도 있습니다. Oracle은 테이블의 특정 열에 대해 개별적으로 권한을 설정할 수 있고 특정 테이블에 대한 사용자 쿼리에 제한 사항을 자동으로 추가할 수 있는 세분화된 권한을 제공합니다.

【권한 구분】

시스템 권한 : 시스템은 사용자의 데이터베이스 사용 권한을 규정합니다. (시스템 권한은 사용자를 위한 것입니다.)

엔티티 권한: 다른 사용자의 테이블이나 뷰에 대한 특정 권한 사용자의 액세스 권한입니다. (테이블 또는 뷰의 경우)

시스템 권한 분류

DBA: 모든 권한을 가지며 시스템 내에서 가장 높은 권한을 가지는 사람만이 데이터베이스 구조를 생성할 수 있습니다.

RESOURCE: 리소스 권한이 있는 사용자는 데이터베이스 구조가 아닌 엔터티만 만들 수 있습니다.

CONNECT: 연결 권한이 있는 사용자는 Oracle에만 로그인할 수 있으며 엔터티나 데이터베이스 구조를 만들 수 없습니다.

엔티티 권한 분류

select, update, insert, alter, index, delete, all(모두 모든 권한 포함), 실행(저장 프로시저를 실행하는 권한).

Role

역할은 사용자에게 할당된 권한의 집합입니다.

사전 정의된 역할은 데이터베이스 설치 후 시스템에서 자동으로 생성되는 일반적으로 사용되는 역할입니다. 다음은 이러한 예약된 역할에 대한 간략한 소개입니다.

모든 역할 보기:

select * from dba_roles;

역할에 포함된 권한 보기는 다음 문으로 쿼리할 수 있습니다.

select * From ROLE_SYS_PRIVS Where Role = 'Character Name'; ) 생성된 사용자로 로그인합니다. 로그인 후 테이블을 생성합니다

conn username/password;

9. SQL 문 연습을 위한 테이블 공간

시스템별 시스템 관리자 계정 로그인

(1) 테이블 공간 생성 SKspace

:

형식: 만들기 테이블스페이스 테이블 이름 데이터 파일 '데이터 파일 이름' 크기 테이블 스페이스 크기 테이블 공간 데이터 파일 자동 확장

테이블스페이스 생성 SKspace 데이터 파일 'C:Oracle12CMBspce1.dbf' 크기 20M 자동 확장 on;

(2) 사용자 C##suke

를 생성합니다. 비밀번호는

suke123입니다. 기본 테이블 공간을

SKspace

로, 임시 테이블 공간을 temp

로 설정합니다.

형식: 비밀번호 기본 테이블스페이스 테이블스페이스 테이블로 식별되는 사용자 사용자 이름 생성; 사용자 C##suke 식별됨 suke123 기본 테이블스페이스 SKspace 임시 테이블스페이스 임시 테이블;오류: 잘못된 공개 사용자 이름 또는 역할 이름

때문에 이때 CDB Create에서 CDB에서 생성된 사용자는 C# 또는 C##

을 추가해야 합니다. 권한은 기본적으로 부여되며 권한을 할당해야 합니다.

편의를 위해 관리자 역할(dba) 권한은

C##suke사용자에게 부여됩니다.

dba를 C##

suke;

--연구 사용자에게 연결 및 리소스 권한을 부여하는 것을 의미합니다

grant connect,resource to Study;

--dba에 학습할 권한을 부여함을 나타냅니다

grant dba to Study;

(4) 이제 생성된 사용자를 사용할 수 있습니다( 이전 생성된 사용자 C##suke 비밀번호는 suke123입니다. 로그인:

connect C##suke/suke123;

(5) 로그인한 다음 테이블을 생성합니다:

id NUMBER(6),code VARCHAR2(10), name VARCHAR2(10) ) ;

(6) 생성된 (기존) 테이블 데이터에 단일 레코드를 삽입합니다:

INSERT INTO job(id,code,name) VALUES(1,'NO1' , 'Test');

(7) 생성된(기존) 테이블의 테이블 데이터에 여러 단일 레코드 삽입:

INSERT ALL

INTO job(id) ,코드,이름) VALUES(2,'NO2','개발')

INTO job(id,코드,이름) VALUES(3,'NO3','운영 및 유지관리')

SELECT 1 FROM double;

(8) 쿼리 테이블 데이터:

SELECT * FROM job where id=1;

코드 선택, Code = 'no2';

(9) job where where where where where where ehoughs anl_tables에서 aLl_tables에서 table_name을 선택하십시오. suke';

선택한 행이 없습니다

처음에는 쿼리 문이 잘못된 줄 알았는데, 좌우로 바꿔봐도 결과는 그대로였습니다.

나중에 온라인으로 확인해 보니 "선택되지 않은 행"은 데이터베이스에 쿼리문과 일치하는 결과가 없기 때문에 오류가 아니라는 것을 알게 되었습니다.

select count(table_name) from all_tables where owner='C##suke';

문제가 발생하면 선입견을 가질 수 없는 것 같습니다. 처음에는 오류가 발생했지만 항상 발생했습니다. 이 진술에서 무엇이 문제인지 알고 싶습니다. 실제로 이는 오류가 아니라 데이터베이스의 데이터 문제일 뿐입니다.

(10) 사용자가 생성한 테이블 구조 쿼리:

desc job;

10. Oracle 삭제 테이블 공간 문

(1 ) 빈 삭제 테이블스페이스이지만 실제 파일은 포함하지 않음                                                           drop tablespace tablespace_name;


(2)删除非空表空间,但是不包含物理文件
        drop tablespace tablespace_name including contents;

(3)删除空表空间,包含物理文件
        drop tablespace tablespace_name including datafiles;

(4)删除非空表空间,包含物理文件
        drop tablespace tablespace_name including contents and datafiles;

(5)如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上         CASCADE CONSTRAINTS
        drop tablespace tablespace_name including contents and datafiles CASCADE         CONSTRAINTS
;

11. 实验二ORACLE SQL*PLUS环境与查询

注1:如果你想使用如此图的EMP表可查询 实验二 Oracle SQL*PLUS环境与查询

注2:你找不到此图的EMP:Oracle设置和修改system和scott的口令,并且如何连接到system和scott模式下

使用scott内置账户登录:conn scott/口令 可以查找到此图的EMP表

注3:你发现你内置账户scott不存在 / 连接不上

此链接可以解决你的问题:Oracle数据库中scott用户不存在的解决方法

注4:你发现 注3 还是无法连接scott账户,你也不想麻烦操作了

此链接可以粗暴解决问题:重建用户scott以及内容表

-- 创建数据表
CREATE TABLE dept (
 deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
 dname VARCHAR2(14) ,
 loc VARCHAR2(13) ) ;
CREATE TABLE emp (
 empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
 ename VARCHAR2(10),
 job VARCHAR2(9),
 mgr NUMBER(4),
 hiredate DATE,
 sal NUMBER(7,2),
 comm NUMBER(7,2),
 deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT );
CREATE TABLE bonus (
 enamE VARCHAR2(10) ,
 job VARCHAR2(9)  ,
 sal NUMBER,
 comm NUMBER ) ;
CREATE TABLE salgrade (
 grade NUMBER,
 losal NUMBER,
 hisal NUMBER );

-- 插入测试数据 —— dept
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
-- 插入测试数据 —— emp
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,to_date('19-04-1987','dd-mm-yyyy')-85,3000,NULL,20);
INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,to_date('23-05-1987','dd-mm-yyyy')-51,1100,NULL,20);
INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
-- 插入测试数据 —— salgrade
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);

(1)SQL*Plus的启动

继续上述实例 9 的步骤操作

进入sqlplus环境:sqlplus

输入用户名:C##suke

输入口令:suke123

(2)断开数据库连接与重新连接数据库

断开数据库连接:DISCONECT

重新连接数据库:conn 用户名/口令:conn C##suke/suke123

(3)退出SQL*Plus:exit

(4)查看当前用户名

show user;

select user from dual;

(5)查询表job表结构:desc job;

(6) 작업 테이블의 데이터 쿼리

select * from job;

select id,code,name from job where id <

(7) 버퍼 내용 나열: LIST

(8) 변경 버그

쿼리 명령 가끔 cose에 코드를 잘못 입력하는 경우가 있습니다. select id, cose, name from job; 그리고 잘못된 줄의 번호를 종료합니다.

변경 사항을 사용하여 오류 코드 수정: change /cose/code;

다시 실행: run

(10) 입력 한 줄 쿼리 조건 추가

쿼리 정보:

SQL> select id,code,name from job;

갑자기 작업을 정렬하고 싶지만 다시 하고 싶지 않습니다. 모든 명령을 입력하고 입력을 사용하여 id 열을 추가합니다. 정렬 조건:

SQL> input 2 order by id;


(11) 추가 쿼리 조건 이전 줄 끝까지

순서를 따르세요 (10) 메인 시퀀스를 시청한 후 강박 장애로 인해 플래시백을 보고 싶다면 어떻게 해야 하나요?

First

버퍼의 내용 나열: list

이전 줄 끝에 쿼리 ​​조건 추가: append 참고: desc의 중간은 공백 두 개, 공백 하나만 남겨두면 아래 오류

Rerun: run

(12) del delete 쿼리 조건의 마지막 줄

(11)단계에서 플래시백을 본 후, 뇌가 아파서 원본 데이터를 보고 싶다면 어떻게 해야 하나요?

먼저 버퍼의 내용을 나열합니다.

list

쿼리 조건의 이전 줄 삭제: del

다시 실행: run

(13) 작업 테이블의 모든 정보를 표시합니다.

select * from job;

(14) 산술 연산자의 사용은 ID+2*3 디스플레이를 만듭니다. (15) 하이픈 사용

유닛 번호와 유닛 이름 연결: 코드 선택 || 직업의 이름 코드명 중간에 '-'를 연결하고 'WORKS IN DEPARTMENT'를 출력합니다. :

select id,code||'-'||name codename,'work in Department' from job;

(16) DISTINCT 절은 중복

을 제거합니다.

여기 데이터에는 중복 값이 ​​없으므로 중복 데이터를 더 추가해야 합니다.

INSERT ALL

INTO job(id,code,name) VALUES (1,'NO2','프런트엔드')


INTO job(id,code,name) VALUES(2,'NO2','백엔드')

INTO job(id,code,name) VALUES(3,'NO3','Internet of Things')

SELECT 1 Dual FROM;

작업 테이블의 단위 ID 번호: 작업에서 ID 선택; 중복을 제거하려면 DISTINCT 절을 사용할 수 있습니다.

작업에서 고유 ID 선택: select * ID별 작업 순서

방법 1:

지식 포인트 검토

목록

append

사용

방법 2:

작업 순서에서 ID, 이름 설명으로 * 선택;

(19) 조건부 질의
부대 일련번호 ID가 2인 모든 부대 일련번호, 부대 번호, 부대 이름 정보를 조회:

SQL> 2 ;

작업 테이블에서 장치 일련 번호가 1보다 큰 장치 이름을 쿼리합니다.

SQL> select id,name from job where id > 1;

호기 일련번호가 1보다 크고, 호기가 'NO3'이거나, 호기 이름이 '앞'인 모든 호기 정보를 조회합니다. end': SQL> id > 1이고 코드 = 'NO3' 또는 이름 = 'Front-end'인 작업에서 *를 선택합니다.

(20) 연산자 적용

heper 2와 3 사이의 직렬 ID의 모든 단위 :

sql & gt;

in application :

'NO2', 'NO3'이 포함된 두 개의 단위 번호 코드 중 하나의 모든 단위 정보를 쿼리합니다:

SQL> code in ('NO2','NO3' ; 단 세 글자의 이름으로 모든 장치 정보 쿼리: SQL> select * from job where name like '___'; IS 적용 NULL: 모두 쿼리 유닛 이름이 없는 유닛 정보:

먼저 유닛 이름이 없는 정보 추가: SQL> INSERT INTO job(id,code) VALUES(1 ,'NO1');

Query 유닛 이름이 없는 모든 유닛 정보: SQL> select * from job where name is null;

(21 ) 단일 및 숫자 대체 변수

디지털 변수 입력:

SQL & GT; job_id가 있는 작업에서 *를 선택하세요. job_id 값을 입력하세요. id = 2

문자열 변수 입력:

SQL> select id*10,code,name from job where code = '&job_code';
job_code 값 입력: NO3


(22) 데이터 유형 변환

TO_NUMBER 문자열 데이터를 숫자로 변환: SQL> select to_number('33') from Dual;

TO_CHAR 숫자 데이터를 문자열로 변환: SQL> select to_char(2) from job;

SQL> select to_char(sysdate,'yy-mm-dd hh24:mi:ss')

TO_DATE 문자열 데이터를 날짜 데이터로 변환:

SQL> select to_date('2005-12-25,13:25:59','yyyy-mm-dd ,hh24:mi:ss') from Dual;

(23) 그룹화 기능 적용

평균값 찾기: SQL> select avg(id) from job;

최소값 찾기: SQL> ; 코드 = 'NO3'인 작업에서 min(id) 선택;

숫자 찾기: SQL> select count(*) from job where id = 2;

참고: 내 작업 단위 테이블은 다음 쿼리에 적합하지 않습니다. 다른 사람 사진으로 보여주기GROUP BY 절 : 각 부서의 평균 연봉을 구함 :

HAVING 절 : 3명이 넘는 부서의 평균 연봉을 조회 :

(24) Connect

다시 참고: 내 직업 단위 테이블은 다음 쿼리에도 적합하지 않습니다. 다른 사람의 사진을 사용하여 다시 표시해 보겠습니다. EMP 및 DEPT의 직원 이름, 직업 및 부서 이름:

(25) subquery Application

다시 참고하세요: 내 작업 단위 테이블도 다음 쿼리에 적합하지 않습니다. 다른 분 사진으로 또 보여드릴게요

EMP에서 최저 급여 직원 쿼리:

EMP에서 각 부서의 최저 급여 직원 쿼리:

추천 튜토리얼: "Oracle 비디오 튜토리얼

위 내용은 Oracle 12c의 SQLPlus 작업 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제