Oracle 보충 1일차
2021. 10. 22. 17:30ㆍOracle
// 오라클 보충 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 |