검색결과 리스트
글
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
---------------------------- 데이터 정의어 Data Definition Language ( CREATE, DROP, ALTER )
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-- -- -- -- -- 생성한다. CREATE 크레이트 -- -- -- -- --
CREATE TABLE board
(
atcseq NUMBER NOT NULL,
name VARCHAR2(20) NOT NULL,
email VARCHAR2(60),
regdt DATE DEFAULT SYSDATE,
CONSTRAINT PK_BOARD PRIMARY KEY(atcseq),
CONSTRAINT FK_contents FOREIGN KEY(atcseq, boardcd) REFERENCES article(atcseq, boardcd)
);
-- -- -- -- -- 테이블을 지운다. DROP 드랍(드롭) -- -- -- -- --
DROP FROM board;
-- -- -- -- -- 테이블을 수정한다. ALTER 알터 -- -- -- -- --
ALTER TABLE board ...
-- -- -- -- -- 테이블을 초기화한다. TRUNCATE 알터 -- -- -- -- --
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
---------------------------- 데이터 조작어 Data Manipulation Language ( SELECT, INSERT, UPDATE, DELETE)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-- -- -- -- --컬럼출력 SELECT 셀렉트-- -- -- -- --
SELECT 컬럼1, 컬럼2, ... FROM 테이블명
-- -- -- -- -- 데이터 저장 INSERT 인서트 -- -- -- -- --
INSERT INTO 테이블명 (컬럼1, 컬럼2...) VALUES (값1, 값2...) --VALUES는 컬럼과 대칭구조이어야 함.
-- -- -- -- -- 데이터 변경 UPDATE 업데이트 -- -- -- -- --
-- -- -- -- -- 테이블 안의 데이터를 지운다. DELETE 델리트(딜리트) -- -- -- -- --
DELETE FROM board WHERE idx=3;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
---------------------------- 데이터 제어어 Data Control Language (GRANT, REVOKE)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-- -- -- -- -- 가상 테이블 VIEW -- -- -- -- --
CREATE OR REPLACE VIEW VIEW_NAME
AS
SELECT
WEHRE
WITH CEHCK OPTION
WITH READ ONLY
SELECT * FROM USER_VIEWS;
-- -- -- -- -- INDEX -- -- -- -- --
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
---------------------------- 명령어?? 기본 함수??? ----------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SELECT 컬럼1, 컬럼2, ... FROM 테이블명
-- -- -- -- -- 조건절 WHERE 웨어-- -- -- -- --
SELECT 컬럼1, 컬럼2, ... FROM 테이블명 WHERE 조건문
ORDER BY DEPARTMENT_ID ASC --오름차순
ORDER BY DEPARTMENT_ID DESC --내림차순
-- -- -- -- -- GROUP BY 그룹바이-- -- -- -- --
SELECT DEPARTMENT_ID, MAX(SALARY), AVG(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID --부서별 그룹화(MAX=최대급여, AVG=평균급여)
-- -- -- -- -- 그룹 조건 HAVING 해빙 -- -- -- -- --
SELECT DEPARTMENT_ID, MAX(SALARY), AVG(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
-- -- -- -- -- JOIN 조인-- -- -- -- --
SELECT EMPLOYEE_ID
, J.JOB_ID
, D.DEPARTMENT_NAME
FROM EMPLOYEES E
, JOBS J --(PK인 JOB_ID 존재)
, DEPARTMENTS D --(PK인 DEPARTMENT_ID 존재)
-- -- -- -- -- SUBQUERY 서브쿼리-- -- -- -- --
SELECT EMPLOYEE_ID
, (SELECT J.JOB_TITLE
FROM JOBS J
WHERE E.JOB_ID=J.JOBID)
AS JTIT
,(SELECT D.DEPARTMENT_NAME
FROM DEPARTMENT D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID)
AS DEPARTNAME
-- -- -- -- -- IN 인-- -- -- -- --
WHERE DEPARTMENT_ID=10 OR DEPARTMENT_ID=20
WHERE DEPARTMENT_ID IN(10,20)
-- -- -- -- -- LIKE 라이크-- -- -- -- --
SELECT JOB_ID
FROM EMPLOYEES
WHERE JOB_ID LIKE 'SA%' -- SA로 시작하는 것
-- -- -- -- -- BETWEEN 비트윈-- -- -- -- --
-- -- -- -- -- 대문자 변환 UPPER 업퍼-- -- -- -- --
-- -- -- -- -- 그룹의 최대값 MAX 맥스(맥시멈)-- -- -- -- --
-- -- -- -- -- 그룹의 최소값 MIN 민(미니멈) -- -- -- -- --
-- -- -- -- -- 그룹의 평균 AVG 에이브이지(에버레이지) -- -- -- -- --
-- -- -- -- -- 아티클(열?)의 총 개수 COUNT 카운트 -- -- -- -- --
SELECT COUNT(seq) FROM board;
-- -- -- -- -- 널(null)일 경우NVL 엔브이엘 -- -- -- -- --
SELECT NVL(A, 1); -- A가 널이면 1을 넣어랏~
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
------------------------------ x x x 하기 In Run SQL Command Line ------------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
----- ----- 사용자 접근 제어
conn system /비밀번호 --system으로 접속
show user; --접속한 유저를 확인
create user superuser identified by 1234; --superuser 계정 생성
conn superuser/1234; --superuser로 접속
grant create sesssion to superuser; --superuser에게 세션 권한 부여
grant select on hr.employees to superuser; -- superuser에게 hr.employees 셀렉트 권한 부여
grant system_privilege to 사용자; --T:"DBA가 되어버립니다. 이 명령은 기억도 하지 마세요. "
grant connect, resource to 사용자; --모든 권한 주기(resource : "이건 롤이라는 거야 다들어가 있찌")
create (alter, drop) table
create (drop) view
creat (alter, drop) sequence
create (alter, drop)
create (alter, drop) synonym
crreate (alter, drop) trigger
----- 객체 권한 설정
alter
comment
grant
delete
index
insert
rename
select
update
reference
execute --PROCEDURE(프로시저) 함수 패키지를 실행 할 수있는 권한
----- 권한 회수
revoke object_privilege on objject from 사용자;
예) revoke seelct on hr.employees to superuser;
-----
생성)
create role basicrol;
grant create session, reate table, create view, to basicrole;
사용)
create user test1 identified by1234;
create user test2 identified by1234;
grant basicrole to test1, test2;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
------------------------- Procedure Languages/SQL 프로시저 랭귀지 에스큐엘-------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'TOOL > DATABASE' 카테고리의 다른 글
DECODE() (0) | 2015.11.25 |
---|---|
RANK(), ROWNUMBER() (0) | 2015.11.13 |
DB 심화 (0) | 2015.09.15 |
ORACLE쿼리를 MYSQL쿼리로 바꿔야할 상황이 생겼다. (1) | 2015.06.18 |
MYSQL (0) | 2015.05.04 |