+ 00 00 0000

Have any Questions?

13_Simple Coding – Table – CUD – 기본 요약

13_Simple Coding – Table – CUD – 기본 요약

📃 요약

전세계 기업시장에서 굉장히 활용 많이 하는 관계형 DB 로 오라클이 있음.
상용 가격은 굉장히 비싸고, 유지보수 비용도 굉장히 높은것으로 알려져 있음.
마이크로서비스가 활성화 되면서 예전과 달리 비싼 비용의 오라클보다 무료 DB 로 전환하는 사례도 나타나고 있음
주로 서비스업체 중심으로 Mysql / Maria DB 가 많이 활용되고 SI 프로젝트는 아직도 전통의 강자 오라클이 많이 사용되고 있음

요소 기술 :

– Basic : SQL

📃 기술 구현

스펙 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- SQL Developer
- Oracle SQL
- SQL Developer - Oracle SQL
- SQL Developer
- Oracle SQL

📃 테이블 기초

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- CRUD : 약어 , DB 또는 실무 프로젝트 많이 사용하는 용어
- C(CREATE 문(생성)), R(READ, SELECT 문(조회)), U(UPDATE 문(수정)), D(DELETE 문(삭제))
- 테이블 의미 : DB(데이터베이스)에서 자료를 저장하는 곳(논리적 공간)
- CRUD : 약어 , DB 또는 실무 프로젝트 많이 사용하는 용어 - C(CREATE 문(생성)), R(READ, SELECT 문(조회)), U(UPDATE 문(수정)), D(DELETE 문(삭제)) - 테이블 의미 : DB(데이터베이스)에서 자료를 저장하는 곳(논리적 공간)
- CRUD : 약어 , DB 또는 실무 프로젝트 많이 사용하는 용어
- C(CREATE 문(생성)), R(READ, SELECT 문(조회)), U(UPDATE 문(수정)), D(DELETE 문(삭제))
- 테이블 의미 : DB(데이터베이스)에서 자료를 저장하는 곳(논리적 공간)

1. 테이블 생성

1) 테이블 생성 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- DDL( DATA DEFINITION LANGUAGE : 데이터 정의어(용어))
- NUMBER(크기) : 숫자 자료형, (실수, 정수 등)
- VARCHAR2(크기) : 문자열 자료형, 가변자료형 (VS CHAR(크기): 고정자료형)
- DDL( DATA DEFINITION LANGUAGE : 데이터 정의어(용어)) - NUMBER(크기) : 숫자 자료형, (실수, 정수 등) - VARCHAR2(크기) : 문자열 자료형, 가변자료형 (VS CHAR(크기): 고정자료형)
- DDL( DATA DEFINITION LANGUAGE : 데이터 정의어(용어))
- NUMBER(크기)   : 숫자 자료형, (실수, 정수 등)
- VARCHAR2(크기) : 문자열 자료형, 가변자료형 (VS CHAR(크기): 고정자료형)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법 :
CREATE TABLE 테이블명(
컬럼명 자료형(크기),
...
);
:
CREATE TABLE DEPT(
DNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);
사용법 : CREATE TABLE 테이블명( 컬럼명 자료형(크기), ... ); 예 : CREATE TABLE DEPT( DNO NUMBER(2), DNAME VARCHAR2(14), LOC VARCHAR2(13) );
사용법 : 
    CREATE TABLE 테이블명(
        컬럼명 자료형(크기),
        ...
    );

예 : 
CREATE TABLE DEPT(
        DNO NUMBER(2),
        DNAME VARCHAR2(14),
        LOC   VARCHAR2(13)
);

2) 테이블 복사

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
테이블 구조 + 데이터 복사
테이블 구조 + 데이터 복사
테이블 구조 + 데이터 복사
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법 :
CREATE TABLE 복사할테이블명
AS
SELECT * FROM 원본테이블;
:
CREATE TABLE DEPT_COPY
AS
SELECT * FROM DEPARTMENT;
사용법 : CREATE TABLE 복사할테이블명 AS SELECT * FROM 원본테이블; 예 : CREATE TABLE DEPT_COPY AS SELECT * FROM DEPARTMENT;
사용법 : 
       CREATE TABLE 복사할테이블명
       AS
       SELECT * FROM 원본테이블;

예 :
CREATE TABLE DEPT_COPY
AS
SELECT * FROM DEPARTMENT;

3) 테이블 구조 복사

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
테이블 구조 : 데이터 제외
테이블 구조 : 데이터 제외
테이블 구조 : 데이터 제외
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법 :
CREATE TABLE 복사할테이블명
AS
SELECT * FROM 원본테이블
WHERE 거짓조건;
:
CREATE TABLE DEPT_COPY2
AS
SELECT * FROM DEPARTMENT
WHERE 1=2; -- 거짓조건 아무거나 붙이면 데이터 빼고 복사됨
사용법 : CREATE TABLE 복사할테이블명 AS SELECT * FROM 원본테이블 WHERE 거짓조건; 예 : CREATE TABLE DEPT_COPY2 AS SELECT * FROM DEPARTMENT WHERE 1=2; -- 거짓조건 아무거나 붙이면 데이터 빼고 복사됨
사용법 : 
       CREATE TABLE 복사할테이블명
       AS
       SELECT * FROM 원본테이블
       WHERE 거짓조건;

예 :
CREATE TABLE DEPT_COPY2
AS
SELECT * FROM DEPARTMENT
WHERE 1=2; -- 거짓조건 아무거나 붙이면 데이터 빼고 복사됨

4) 테이블 / 컬럼 주석

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- 테이블/컬럼에 상세 설명을 붙일 수 있음
- 테이블/컬럼에 상세 설명을 붙일 수 있음
- 테이블/컬럼에 상세 설명을 붙일 수 있음
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법 : 테이블 주석 달기
COMMENT ON TABLE 테이블명 IS '테이블주석';
:
COMMENT ON TABLE DEPT IS '부서정보';
사용법 : 컬럼 주석 달기
COMMENT ON COLUMN 테이블명.컬럼명 IS '컬럼주석';
:
COMMENT ON COLUMN DEPT.DNO IS '부서번호';
COMMENT ON COLUMN DEPT.DNAME IS '부서명';
COMMENT ON COLUMN DEPT.LOC IS '부서위치';
사용법 : 테이블 주석 달기 COMMENT ON TABLE 테이블명 IS '테이블주석'; 예 : COMMENT ON TABLE DEPT IS '부서정보'; 사용법 : 컬럼 주석 달기 COMMENT ON COLUMN 테이블명.컬럼명 IS '컬럼주석'; 예 : COMMENT ON COLUMN DEPT.DNO IS '부서번호'; COMMENT ON COLUMN DEPT.DNAME IS '부서명'; COMMENT ON COLUMN DEPT.LOC IS '부서위치';
사용법 : 테이블 주석 달기
    COMMENT ON TABLE 테이블명 IS '테이블주석';

예 :
COMMENT ON TABLE DEPT IS '부서정보';

사용법 : 컬럼 주석 달기 
    COMMENT ON COLUMN 테이블명.컬럼명 IS '컬럼주석';

예 :    
COMMENT ON COLUMN DEPT.DNO IS '부서번호';
COMMENT ON COLUMN DEPT.DNAME IS '부서명';
COMMENT ON COLUMN DEPT.LOC IS '부서위치';

5) 테이블 삭제 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- DROP TABLE 테이블명;
- DROP TABLE 테이블명;
- DROP TABLE 테이블명;
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DROP TABLE DEPT_COPY;
DROP TABLE DEPT_COPY;
DROP TABLE DEPT_COPY;

6) 트랜잭션 관리 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- 영구반영 : INSERT/UPDATE/DELETE 에 대해서 영구 반영됨, 취소 불가
- 취소 : INSERT/UPDATE/DELETE 에 대해서 취소 가능
- 영구반영 : INSERT/UPDATE/DELETE 에 대해서 영구 반영됨, 취소 불가 - 취소 : INSERT/UPDATE/DELETE 에 대해서 취소 가능
- 영구반영 : INSERT/UPDATE/DELETE 에 대해서 영구 반영됨, 취소 불가
- 취소    : INSERT/UPDATE/DELETE 에 대해서 취소 가능
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
-- 취소 : ROLLBACK;
ROLLBACK;
-- 영구 반영 : 취소(ROLLBACK)불가상태
-- 의미 : 영구 반영하면 다른 유저가 현재 생성한/수정/삭제한 데이터를 볼 수 있음
COMMIT;
-- 취소 : ROLLBACK; ROLLBACK; -- 영구 반영 : 취소(ROLLBACK)불가상태 -- 의미 : 영구 반영하면 다른 유저가 현재 생성한/수정/삭제한 데이터를 볼 수 있음 COMMIT;
-- 취소 : ROLLBACK;
ROLLBACK;

-- 영구 반영 : 취소(ROLLBACK)불가상태
-- 의미 : 영구 반영하면 다른 유저가 현재 생성한/수정/삭제한 데이터를 볼 수 있음
COMMIT;

7) 데이터 생성 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- INSERT
- INSERT
- INSERT
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법)
INSERT INTO 테이블명(컬럼명, 컬럼명2, ...)
VALUES(값, 값2, ...); -- 데이터 추가
:
-- 예제) DEPT_COPY 테이블에 데이터 INSERT
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(10, 'ACCOUNTING', 'NEW YORK'); -- 데이터 추가
-- NULL 값도 추가 가능
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(40, 'OPERATIONS', NULL); -- 데이터 생성
-- 있는 컬럼을 제외하면 자동으로 NULL 이 입력됨
INSERT INTO DEPT_COPY(DNO, DNAME)
VALUES(30, 'SALES'); -- 데이터 생성
-- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음
COMMIT;
사용법) INSERT INTO 테이블명(컬럼명, 컬럼명2, ...) VALUES(값, 값2, ...); -- 데이터 추가 예 : -- 예제) DEPT_COPY 테이블에 데이터 INSERT INSERT INTO DEPT_COPY(DNO, DNAME, LOC) VALUES(10, 'ACCOUNTING', 'NEW YORK'); -- 데이터 추가 -- NULL 값도 추가 가능 INSERT INTO DEPT_COPY(DNO, DNAME, LOC) VALUES(40, 'OPERATIONS', NULL); -- 데이터 생성 -- 있는 컬럼을 제외하면 자동으로 NULL 이 입력됨 INSERT INTO DEPT_COPY(DNO, DNAME) VALUES(30, 'SALES'); -- 데이터 생성 -- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음 COMMIT;
사용법) 
    INSERT INTO 테이블명(컬럼명, 컬럼명2, ...)
    VALUES(값, 값2, ...); -- 데이터 추가

예 : 
-- 예제) DEPT_COPY 테이블에 데이터 INSERT
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(10, 'ACCOUNTING', 'NEW YORK'); -- 데이터 추가

-- NULL 값도 추가 가능
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(40, 'OPERATIONS', NULL); -- 데이터 생성

-- 있는 컬럼을 제외하면 자동으로 NULL 이 입력됨
INSERT INTO DEPT_COPY(DNO, DNAME)
VALUES(30, 'SALES'); -- 데이터 생성

-- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음
COMMIT;

8) 데이터 수정 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- UPDATE
- UPDATE
- UPDATE
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법)
UPDATE 테이블명
SET
컬럼명 = 변경할값
WHERE 컬러명 = 값; (조건)
:
UPDATE DEPT_COPY
SET
DNAME = 'PROGRAMMING'
WHERE DNO = 10;
-- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음
COMMIT;
사용법) UPDATE 테이블명 SET 컬럼명 = 변경할값 WHERE 컬러명 = 값; (조건) 예 : UPDATE DEPT_COPY SET DNAME = 'PROGRAMMING' WHERE DNO = 10; -- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음 COMMIT;
사용법) 
    UPDATE 테이블명
    SET
      컬럼명 = 변경할값
    WHERE 컬러명 = 값; (조건)

예 : 
UPDATE DEPT_COPY
SET
    DNAME = 'PROGRAMMING'
WHERE DNO = 10;

-- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음
COMMIT;

9) 데이터 삭제 :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- DELETE
- DELETE
- DELETE
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
사용법)
DELETE (FROM) 테이블명
WHERE 컬럼명 = 값;
-- 예제) 10번 부서를 삭제하세요
DELETE FROM DEPT_COPY
WHERE DNO = 10;
SELECT * FROM DEPT_COPY;
-- 영구 반영
COMMIT;
사용법) DELETE (FROM) 테이블명 WHERE 컬럼명 = 값; -- 예제) 10번 부서를 삭제하세요 DELETE FROM DEPT_COPY WHERE DNO = 10; SELECT * FROM DEPT_COPY; -- 영구 반영 COMMIT;
사용법) 
    DELETE (FROM) 테이블명
    WHERE 컬럼명 = 값;

-- 예제) 10번 부서를 삭제하세요
DELETE FROM DEPT_COPY
WHERE DNO = 10;
SELECT * FROM DEPT_COPY;

-- 영구 반영
COMMIT;

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다