SQL활용 - 환경설정

김형우·2022년 3월 18일
1

SQL 활용

목록 보기
1/14
post-thumbnail

https://www.oracle.com/tools/downloads/sqldev-downloads.html

몽고 DB : id201, pw201, db201

JAVA설치, JAVA_HOME 잡혀있어야 함
오라클 : ds201, pw201


-- SQL(Structured Query Language)의 종류 :
-- 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL), 트랜잭션 제어어(TCL)


-- 데이터 정의어(Data Definition Language) : 데이터의 구조를 정의하기 위한 테이블 생성, 수정, 삭제 명령어.
-- CREATE, ALTER, DROP등의 DDL, DCL은 auto commit
CREATE : 테이블 생성
DROP : 테이블 삭제
ALTER : 테이블 수정
TRUNCATE : 테이블에 있는 모든 데이터 삭제
RENAME : 테이블명 변경


-- 데이터 조작어(Data Manipulation Language) : 데이터 추가, 조회, 수정 및 삭제를 위한 명령어.
SELECT : 데이터 조회
INSERT : 데이터 입력
UPDATE : 데이터 수정
DELETE : 데이터 삭제


-- 데이터 제어어(Data Control Language) : 사용자에게 권한 생성 혹은 권한 삭제 명령어.
GRANT : 권한 생성
REVOKE : 권한 삭제


SQL DEVELOPER

  1. 접속

  2. 접속 명칭 설정
    : 테스트 => 성공

  3. 접속 누르면

  4. 회원테이블 생성
    VARCHAR2 = STRING

  5. 생성됨

  6. 테이블 편집 화면

  7. 물품 테이블 생성


명령어

1. ALTER - 수정

  • 컬럼의 속성을 바꿈
  • 주소컬럼 추가

2. DROP - TABLE 삭제

DROP TABLE ITEM2 CASCADE CONSTRAINTS;
CASCADE CONSTRAINTS : 고유 키도 삭제한다는 뜻


외래키 사용

  1. 주문테이블 ORDER1 생성
    : 주문번호, 주문수량, 주문일자, 주문물품번호, 주문자아이디


테이블을 ERD로 도식화

1

2

3

4

5

6


VSCODE에서 ERD 만들기

1

2

3

4

5

6

7 결과

오라클로 보내기

1

2

2-1

3. JAVA언어로도 변경됨

4


제약조건

  1. ORDER1
    제약조건 명칭 자동생성 ==> SYS_로 시작

  2. ORDER2
    VSCODE에서 만든것 => 명칭 만들어줬음

    2-1. ORDER2 제약조건 명칭

전체코드 TABLE1

-- 회원테이블 생성
CREATE TABLE MEMBER1(
    USERID VARCHAR2(30) PRIMARY KEY,
    USERPW VARCHAR2(200),
    USERNAME VARCHAR2(15),
    USERAGE NUMBER(3),
    USERDATE DATE
);
-- 컬럼중에 USERNAME의 길이를 15 -> 20
ALTER TABLE MEMBER1 MODIFY USERNAME VARCHAR2(20);

-- 주소 컬럼 추가
ALTER TABLE MEMBER1 ADD USERADDR VARCHAR2(100);

-- 물품번호(숫자), 물품명(문자), 가격(숫자), 수량(숫자), 등록일
CREATE TABLE ITEM1 (
    ITEMNO NUMBER,
    ITEMNAME VARCHAR2(30),
    ITEMPRICE NUMBER,
    ITEMQTY NUMBER,
    ITEMDATE DATE,
    PRIMARY KEY(ITEMNO)
);

-- 물품명 길이가 30 -> 50 으로 변경
ALTER TABLE ITEM1 MODIFY ITEMNAME VARCHAR2(50);

-- 주문테이블 ORDER1 생성 
-- 주문번호, 주문수량, 주문일자, 주문물품번호, 주문자아이디
CREATE TABLE ORDER1(
    ORDNO NUMBER PRIMARY KEY,
    ORDCNT NUMBER,
    ORDDATE DATE,
    -- ITEM1의 ITEMNO 사용, 외래키, 타입 일치 필수!
    ORDITEM NUMBER,
    -- MEMBER1의 USERID 사용, 외래키, 타입 일치 필수!
    ORDID VARCHAR2(30),
    FOREIGN KEY(ORDITEM)REFERENCES ITEM1(ITEMNO),
    FOREIGN KEY(ORDID)REFERENCES MEMBER1(USERID)
);

전체코드 TABLE2

CREATE TABLE ITEM2
(
  ITEMNO    NUMBER       NOT NULL,
  ITEMNAME  VARCHAR2(50),
  ITEMPRICE NUMBER      ,
  ITEMQTY   NUMBER      ,
  ITEMDATE  DATE        ,
  CONSTRAINT PK_ITEM2 PRIMARY KEY (ITEMNO)
);

COMMENT ON TABLE ITEM2 IS '물품 두번째';

CREATE TABLE MEMBER2
(
USERID VARCHAR2(30) NOT NULL,
USERPW VARCHAR2(200),
USERNAME VARCHAR2(20) ,
USERAGE NUMBER(3) ,
USERDATE DATE ,
CONSTRAINT PK_MEMBER2 PRIMARY KEY (USERID)
);

COMMENT ON TABLE MEMBER2 IS '회원 두번째';

CREATE TABLE ORDER2
(
ORDNO NUMBER NOT NULL,
ORDCNT NUMBER ,
ORDDATE DATE ,
ITEMNO NUMBER NOT NULL,
USERID VARCHAR2(30) NOT NULL,
CONSTRAINT PK_ORDER2 PRIMARY KEY (ORDNO)
);

COMMENT ON TABLE ORDER2 IS '주문 두번째';

ALTER TABLE ORDER2
ADD CONSTRAINT FK_ITEM2_TO_ORDER2
FOREIGN KEY (ITEMNO)
REFERENCES ITEM2 (ITEMNO);

ALTER TABLE ORDER2
ADD CONSTRAINT FK_MEMBER2_TO_ORDER2
FOREIGN KEY (USERID)
REFERENCES MEMBER2 (USERID);

profile
The best

0개의 댓글