1. DDL이란
2. 테이블 생성
실습)
CREATE TABLE QUIZ_TABLE (
Q_ID NUMBER(3, 0) NOT NULL,
Q_CONTENT VARCHAR2(200) NOT NULL,
Q_ANSWER VARCHAR2(100),
REG_DATE DATE DEFAULT SYSDATE
);
실습)
INSERT INTO QUIZ_TABLE (
Q_ID
, Q_CONTENT
, Q_ANSWER
) VALUES (
1
, '쥐는 영어로 무엇일까요?'
, 'mouse'
);
INSERT INTO QUIZ_TABLE (
Q_ID
, Q_CONTENT
, Q_ANSWER
) VALUES (
2
, '달력은 영어로 무엇일까요?'
, 'calendar'
);
INSERT INTO QUIZ_TABLE (
Q_ID
, Q_CONTENT
, Q_ANSWER
) VALUES (
3
, '종이는 영어로 무엇일까요?'
, 'paper'
);
3. 제약조건
실습)
CREATE TABLE 회원정보 (
회원ID VARCHAR2(10) NOT NULL
, 이름 VARCHAR2(20) NOT NULL
, 가입일자 DATE
, 나이 NUMBER DEFAULT 0
);
CREATE TABLE 회원연락처 (
회원ID VARCHAR2(10) NOT NULL
, 구분코드 VARCHAR2(10) NOT NULL
, 연락처 VARCHAR2(15) NOT NULL
);
CREATE TABLE 회원주소 (
회원ID VARCHAR2(10) NOT NULL
, 도로명주소 VARCHAR2(200) NOT NULL
);
ALTER TABLE 회원정보
ADD CONSTRAINT PK_회원정보
PRIMARY KEY(회원ID);
ALTER TABLE 회원연락처
ADD CONSTRAINT PK_회원연락처
PRIMARY KEY(회원ID, 구분코드);
ALTER TABLE 회원주소
ADD CONSTRAINT PK_회원주소
PRIMARY KEY(회원ID);
ALTER TABLE 회원연락처
ADD CONSTRAINT FK_회원연락처
FOREIGN KEY (회원ID) REFERENCES 회원정보(회원ID);
ALTER TABLE 회원주소
ADD CONSTRAINT FK_회원주소
FOREIGN KEY(회원ID) REFERENCES 회원정보(회원ID);
4. 테이블 수정하기
ALTER TABLE 직원
ADD(생년월일 VARCHAR2(8));
ALTER TABLE 직원
DROP COLUMN 생년월일;
ALTER TABLE 직원
MODIFY(패스워드 VARCHAR2(300));
ALTER TABLE 직원
RENAME COLUMN 패스워드 TO 비밀번호;
5. 테이블/제약조건 삭제하기
-테이블 삭제하기
DROP TABLE 회원정보
CASCADE CONSTRAINT;
-제약조건명 삭제
ALTER TABLE 회원연락처
DROP CONSTRAINT PK_회원연락처;
6. 시퀀스와 뷰
INSERT INTO 직원 (
직원ID
, 비밀번호
, 이름
, 성별
, 나이
, 입사일시
, 주민등록번호
, 연봉
, 부서ID
) VALUES (
'A'||LPAD(직원ID_SEQ.NEXTVAL, 4, '0')
, '비밀번호123'
, '새직원'
, '여'
, 30
, SYSDATE
, '930711-2441223'
, 5000
, 'D006'
);
CREATE SEQUENCE 직원ID_SEQ
INCREMENT BY 1 --증가할 시퀀스 값
START WITH 1 --시작할 시퀀스 값
MINVALUE 1 --최소사용할 시퀀스 값은 1
MAXVALUE 9999; --최대사용할 시퀀스 값은 9999
SELECT 직원ID_SEQ.NEXTVAL
FROM DUAL;
DROP SEQUENCE 직원ID_SEQ;
SELECT A.이름
, A.연봉
, B.부서별최고연봉
FROM 직원 A
, (
SELECT 부서ID
, MAX(연봉) AS 부서별최고연봉
FROM 직원
GROUP BY 부서ID
ORDER BY 부서ID
) B
WHERE A.부서ID = B.부서ID
AND A.연봉 = B.부서별최고연봉;
DROP VIEW 부서별최고연봉_VIEW;
'Computer Engineering > DB_Oracle' 카테고리의 다른 글
SQL_WHERE 예제_총정리 (0) | 2023.03.08 |
---|---|
SQL_SELECT 예제_총정리 (0) | 2023.03.08 |
TCL (0) | 2023.03.08 |
DCL (0) | 2023.03.08 |
DML 예제풀이 (0) | 2023.03.06 |
댓글