728x90
반응형
DATA TYPE
오라클 권장 문자열 타입 → VARCHAR2(20)
MySQL, MSSQL → VARCHAR(20)
DDL
CREATE
CREATE TABLE TYPETEST(
NAME VARCHAR2(9) PRIMARY KEY, --NOT NULL, 중복X
MONEY NUMBER NOT NULL
);
ALTER
-TABLE 정보를 변경할 때
1. CREATE 단위에서 사용
: 제약 조건 중 dafault를 사용
ex) HIT NUMBER DEFAULT 0 으로 제약조건을 설정하면 별도로 HIT에 정보를 INSERT하지 않아도 0으로 초기화
CREATE TABLE ALTERTEST(
ID VARCHAR2(100) PRIMARY KEY,
HIT NUMBER DEFAULT 0
);
--별도로 HIT값을 INSERT하지 않아도 DEFAULT 설정에 의해 초기값 0이 할당
INSERT INTO ALTERTEST(ID) VALUES('JAVA');
2. 테이블 명 변경
ALTER TABLE ALTERTEST RENAME TO ALTERTEST2;
3. 컬럼 명 변경 (HIT -> COUNT)
ALTER TABLE ALTERTEST2 RENAME COLUMN HIT TO COUNT;
DML
INSERT
error case
1) NAME의 사이즈를 초과할 경우
INSERT INTO TYPETEST(NAME, MONEY) VALUES('ABCDEFGHIJ',100);
--ERROR MESSAGE : value too large for column "SCOTT"."TYPETEST"."NAME" (actual: 10, maximum: 9)
INSERT INTO TYPETEST(NAME, MONEY) VALUES('민들레꽃',100);
2) MONEY에 변수를 넣지 않을 경우
INSERT INTO TYPETEST(NAME) VALUES('민들레');
3) 정상적인 INSERT
INSERT INTO TYPETEST(NAME, MONEY) VALUES('ABCDEFGHI',100);
INSERT INTO TYPETEST(NAME, MONEY) VALUES('민들레',100);
UPDATE
NAME이 민들레인 대상의 MONEY를 200을 누적(추가)해본다.
1) MONEY를 200으로 수정
UPDATE TYPETEST SET MONEY = 200 WHERE NAME='민들레';
2) MONEY에 200을 누적
UPDATE TYPETEST SET MONEY = MONEY + 200 WHERE NAME='민들레';
728x90
반응형
'DB > 이론 및 개념' 카테고리의 다른 글
[day_03] DB / 06. SQL 기본 4 - Oracle SEQUENCE 시퀀스 (0) | 2020.08.10 |
---|---|
[day_02] DB / 05. 기본 SQL 3 - Oracle 함수 (0) | 2020.08.08 |
[day_02] DB / 03. JDBC (Java Database Connectivity) (0) | 2020.08.07 |
[day_01] DB / 02. 기본 SQL 1 (DDL, DML) (0) | 2020.08.06 |
[day_01] DB / 01. Oracle SQL 설치 및 Eclipse IDE와 연동하기 (9) | 2020.08.06 |