Oracle 보충 1일차

2021. 10. 22. 17:30Oracle

// 오라클 보충 1일차,

dml : data manipulation language (데이터 조작어)

- insert, update, delete, merge - 레코드의 변화를 처리.

ddl : data definition language (데이터 정의어)

- create, alter, drop, rename, truncate - 테이블을 정의하고 수정하는 처리.

dcl : data control language (데이터 제어어)

- grant, revoke - 사용자에게 권한을 부여하거나 회수.

관계형 데이터 베이스 : oracle(고가, 대기업), ms-sql(중가, 중기업), mysql(무료, 학생, 벤처)

alter session set "_ORACLE_SCRIPT"=true;

create user admin2 identified by 1234;

-- 사용자 생성, 그 생성된 사용자의 비번은 1234;

create user admin3; alter user admin3 identified by 1234;

-- 권한 역할(role)

-- connect : 디비 접속 권한.

-- resource : 디비의 자원 사용 권한.

-- dba : 디비 관리자.

grant dba to admin3;

alter user admin2 account lock;

-- 사용자 계정 잠금.

alter user admin2 account unlock;

-- 사용자 계정 잠금 해제.

Localhost : 127.0.0.1 자기 자신 컴퓨터 가르킴.

1521 : port로 입출력 정보를 주고 받는 통로 번호.

Sid : 오라클 접속 닉네임.

select * from tbl_board;

-- 가지고 있는 레코드 확인

desc tbl_board;

-- 테이블의 컬럼 구조 확인.

포털에서 oracle syntax select구문. https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm#SQLRF01702

select bno, bno+10000 from tbl_board;

-- 가지고 있는 레코드 확인 d

esc tbl_board;

-- 테이블의 컬럼 구조 확인.

select enabled, enabled + 100 from tbl_member;

-- 숫자간에 산술 연산 가능하고, 리턴되는 값이 문자지만 숫자로 처리할 수 있다면,

-- 그것도 연산 처리함. 알아서 처리해주는 호환성 있음.

-- 문자열 don't

-- 잘못 동작하는 예,

select username from tbl_member where username like 'don't'; select 1+1 from dual;

-- 산술 연산의 결과를 찾아내기 위해서 테스트용 임의 테이블 dual을 이용.


select username as name from tbl_member;

-- 컬럼에 별칭 사용.

-- as 생략 가능.
select username name1 from tbl_member;

NVL 함수 NVL 함수는 값이 null 인 경우 지정값을 출력한다.

- 함수 : NVL("값", "지정값")

-- 연결 연산자. select userid ||'-' ||username from tbl_member;

-- distinct 중복 제거.

select distinct auth from tbl_member_auth;

-- where 조건.

select userid from tbl_member where userid != 'user43';

select userid from tbl_member where userid <> 'user43';

select userid from tbl_member where userid ^= 'user43';

-- between A and B : a 부터 b까지 포함 관계로 표시.

select bno from tbl_board where bno between 1000 and 1010;

-- 게시물 날짜 조회. select * from tbl_board where updatedate between '21/10/10' and '21/10/20';

-- in 연산자. 집합.

-- 게시물번호 100, 200, 300 을 보고자 할때,

select bno from tbl_board where bno in (100,200,300);
-- 게시물 제목에 테스트 라는 말이 있고,

-- 수정 이라는 말은 없는 게시물 표시.

select title from tbl_board where title like '%수정%';

-- 여러개의 조건이 추가되는 복잡한 쿼리문을 작성해야 한다면,

-- 그 전에 우리말로 요구사항을 정리.

-- 부분부분 쿼리문 처리하고, 결과를 검증.

-- 정렬. tbl_board 에서 덧글 갯수와 제목에 대한 정렬.

select replycnt from tbl_board order by replycnt;

-- asc 키워드는 생략 가능. select title from tbl_board order by title desc;

'Oracle' 카테고리의 다른 글

Oracle 보충 2일차  (0) 2021.10.22
Oracle 예제4.  (0) 2021.09.14
Oracle 5일차.  (0) 2021.09.13
Oracle 4일차.  (0) 2021.09.10
Oracle 예제3.  (0) 2021.09.09