.

오라클 SQL 1일 차

1. 테이블 생성

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입,
	컬럼2 컬럼2_데이터타입
);

<例子>

CREATE TABLE member(
  userid     VARCHAR2(30),
  userpw     VARCHAR2(200),
  username   VARCHAR2(15)
);

VARCHAR2는 Java에서 문자열로 작동합니다.

데이터 유형의 길이를 설정할 수도 있습니다.

VARCHAR2(20) >>> 최대 20자까지 쓸 수 있습니다.

NUMBER(2) >>> 0 ~ 99 가능

CHAR(1) >>> 1비트 가능

CHAR에서 주의할 점은 (3), 하나의 숫자만 입력하면 나머지 숫자는 공백이 됩니다.
예) CHAR(3) => ‘A’

2. 종합검색

SELECT 컬럼명 FROM 테이블명;

<例子>

--전체 조회(1)
SELECT * FROM item;

--전체 조회(2)
SELECT i.* FROM item i;

--원하는 것만 조회
SELECT i.code, i.name FROM item i;

3. 제약

3-1. 비어 있음 | 비어 있지 않음

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입 NULL|NOT NULL
);

3-2 첫 번째 열쇠

테이블당 하나의 기본 키만 만들 수 있습니다.

기본 키로 설정할 경우 NOT NULL을 설정합니다.

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입 PRIMARY KEY,
	컬럼2 컬럼2_데이터타입 
);

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입,
	컬럼2 컬럼2_데이터타입,
    
    CONSTRAINT 제약조건명 PRIMARY KEY (컬럼명,...)
);

제약 조건 이름은 고유해야 하며 중복될 수 없습니다.

<例子>

CREATE TABLE member(
  userid     VARCHAR2(30),    
  userpw     VARCHAR2(200),

  CONSTRAINT PK_member PRIMARY KEY (userid) 
);

3-3.외래 키

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입,
	컬럼2 컬럼2_데이터타입,
    
    CONSTRAINT 제약조건명 PRIMARY KEY (컬럼명,...),
    CONSTRAINT 제약조건명 FOREIGN KEY (컬럼명,...) REFERENCES 참조 테이블(참조 테이블 컬럼명,..)
);

<例子>

CREATE TABLE memberaddrtbl (
    userno       NUMBER,
    useraddr     VARCHAR2(100),
    userpostcode NUMBER(5),
    userdate     TIMESTAMP,
    userid       VARCHAR2(30), 

    CONSTRAINT memberaddrtbl_pk PRIMARY KEY ( userno ), --기본키
    CONSTRAINT memberaddrtbl_fk FOREIGN KEY ( userid ) REFERENCES membertbl ( userid ) --외래키
);

테이블 생성 및 제약 조건 추가 방법

(표에 쓰지 마세요)

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명
			FOREIGN KEY (컬럼명) REFERENCES 참조 테이블명 (참조 테이블 컬럼명);

3-4.확인하다

CREATE TABLE 테이블명(
	컬럼1 컬럼1_데이터타입,
	컬럼2 컬럼2_데이터타입,
    
    CONSTRAINT 체크명1 CHECK (컬럼1 BETWEEN 숫자 AND 숫자),
    CONSTRAINT 체크명2 CHECK (컬럼2 IN ('문자열', '문자열'))
);

<例子>

CREATE TABLE member(
  userid     VARCHAR2(30) ,    
  userpw     VARCHAR2(200),
  username   VARCHAR2(15) ,
  userage    NUMBER(3)    ,
  userphone  VARCHAR2(15) ,
  usergender VARCHAR2(1)  ,
  userdate   DATE         ,
  
  CONSTRAINT PK_member PRIMARY KEY (userid),
  CONSTRAINT CHK_member_usegender CHECK (usergender IN ('M', 'F'))
);

테이블 생성 및 제약 조건 추가 방법

(표에 쓰지 마세요)

ALTER TABLE member ADD CONSTRAINT CHK_member_usegender CHECK (usergender IN ('M', 'F'));

4. 가치를 더하다

INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ....) VALUES('추가할 값', 추가할 값, ...);

<例子>

INSERT INTO member(userid, userpw, username, userage, userphone, usergender, userdate) 
            VALUES('a','a','가나다',12,'010-0000-0000','F',CURRENT_DATE);

CURRENT_DATE는 현재 날짜/시간을 인쇄합니다.

5. 삭제 및 수정

테이블 삭제

DROP TABLE 테이블명 CASCADE CONSTRAINTS;

CASCADE CONSTRAINTS는 모든 제약 조건을 제거할 때 추가할 수 있으며 없는 경우 빼면 됩니다.

옳은

UPDATE 테이블명 SET 컬럼명=변경값, 컬럼명=변경값 WHERE 조건;

WHERE를 필터로 생각하십시오.

5. 커밋 및 롤백

COMMIT; -- 적용하기

값을 삽입, 삭제 또는 수정할 때 COMMIT가 마지막으로 실행된 경우 완전히 적용됩니다.

하지만 실수를 하면 COMMIT 하기 직전에

ROLLBACK; --되돌리기

ROLLBACK을 실행하여 이전 상태로 되돌릴 수 있습니다.

따라서 값을 추가, 삭제 또는 수정한 직후에 COMMIT를 수행하는 대신 전체

COMMIT 또는 ROLLBACK을 수행할지 여부를 선택해야 합니다.

COMMIT 실행 후 리턴….