****쿼리 짜기전 설정해주기*****
set linesize 150
set pagesize 150
select * from emp;
select * from dept;
COL ENAME for A8
COL JOB for A10
COL MGR for 9999
COL EMPNO for 9999
COL SAL for 9999
COL COMM for 9999
COL DEPTNO for 99999
COL DNAME for A10
COL LOC for A8
COL GRADE FOR 9999
CL SCR
(')홑따옴표 : 문자열을 감싸주는 기호 ('문자열')
(")쌍따옴표 : 컬럼명 등을 감싸주는 기호 ("사용자명"."테이블명"."컬럼명")
오라클 캐릭터셋 확인 쿼리
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET%';
* AL32UTF8
UTF8
Unicode의 CES 중 하나- 11172자의 한글을 지원 (한글바이트: 3byte)
* AL16UTF8
KO16KSC5601
완성형 한글- 일반적으로 많이 사용되며 2350자의 한글, 4888자의 한자, 히라카나, 카타카나, 영문 및 각종 기호를 포함하고 있음. (한글바이트: 2byte)
KO16MSWIN949
조합형 한글- 완성형을 포함하여 11172자의 한글을 표현함 (한글바이트: 2byte)
CREATE TABLE EMP_TEMP AS SELECT * FROM EMP WHERE 1 <> 1;
**INSERT INTO 실습문제**
INSERT INTO EMP_TEMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES (9999, '홍길동', 'PRESIDENT', NULL, '2001/01/01', 5000, 1000, 10);
INSERT INTO EMP_TEMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES(1111, '성춘향', 'MANAGER', 9999, '2001-01-05', 4000, NULL, 20);
INSERT INTO EMP_TEMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES(2111, '이순신', 'MANAGER', 9999, TO_DATE('07/01/2001','DD/MM/YYYY'), 4000, NULL, 20);
INSERT INTO EMP_TEMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES(3111, '심청이', 'MANAGER', 9999, SYSDATE, 4000, NULL, 30);
SELECT * FROM EMP_TEMP;
급여가 700에서 1200사이인 사원 정보 출력(SALGRADE 활용)
CREATE TABLE DEPT_TEMP2
AS SELECT * FROM DEPT;
//DEPT테이블 서브쿼리에 복사해서 DEPT_TEMP2테이블 생성
//LOC 데이터 수정하기
//데이터 하나만 수정하기
->
->UPDATE DEPT_TEMP2 SET (DNAME, LOC) = (SELECT DNAME, LOC FROM DEPT WHERE DEPTNO = 40) WHERE DEPTNO = 40;
UPDATE DEPT_TEMP2 SET DNAME = 'DATABASE', LOC = 'SEOUL' WHERE DEPTNO = 40;
CREATE TABLE DEPT_TCL
AS SELECT *
FROM DEPT;
SELECT * FROM DEPT_TCL;
INSERT INTO DEPT_TCL VALUES(50, 'DATABASE', 'SEOUL');
UPDATE DEPT_TCL SET LOC = 'BUSAN' WHERE DEPTNO = 40;
DELETE FROM DEPT_TCL WHERE DNAME = 'RESEARCH';
SELECT * FROM DEPT_TCL;
DML(Data Manipulation Language) : 데이터 조작
SELECT/INSERT/UPDATE/DELETE 등
DQL(Data Query Language) : DML의 SELECT문
DDL(Data Definition Language): 데이터베이스 개체 생성/삭제/변경
CREATE/DROP/ALTER 등
DCL(Data Control Language) : 권한 관련
GRANT/REVOKE/DENY 등
TCL(Transaction Control Language) : 트랜젝션 관련
COMMIT/ROLLBACK 등
//모든 작업 수행을 취소하고 싶을때 ROLLBACK 사용하여 되돌리기
//commit 후 출력하면 반영된 데이터가 나타남
//COMMIT후 ROLLBACK 할 수 없다
//데이터 수정후 commit하지 않으면 다른 명령창에 lock이 걸림
//commit하면 다른 명령창에서 수정되어 출력됨
//COMMIT하지 않고 EXIT하거나 창을 닫으면 자동 COMMIT됨
SQL> SELECT * FROM DEPT_TCL;
DEPTNO DNAME LOC
------ ---------- --------
10 ACCOUNTING NEW YORK
30 SALES CHICAGO
SQL> commit;
Commit complete.
SQL> SELECT * FROM DEPT_TCL;
DEPTNO DNAME LOC
------ ---------- --------
10 ACCOUNTING NEW YORK
30 SALES CHICAGO
//commit에 반영
'SQL(ORACLE)' 카테고리의 다른 글
[SQL] 함수 (0) | 2021.10.31 |
---|---|
[SQL] CREATE TABLE, INSERT INTO, UPDATE SET (0) | 2021.10.21 |
[SQL] 등가조인(NATURAL JOIN /JOIN USING/JOIN ON), 비등가조인,자체 조인, 외부조인, SALGRADE, 서브쿼리(ANY/SOME/ALL) (0) | 2021.01.05 |
[SQL] GROUP BY, HAVING, ORDER BY, ROLL UP, CUBE (0) | 2021.01.04 |
[SQL] ROUND/TRUNC, CEIL/FLOOR, MOD, SYSDATE, ADD, SYSTIMESTAMP, NVL , DECODE ,CASE~ELSE (0) | 2021.01.01 |