본문 바로가기
DB/이론 및 개념

[day_02] DB / 04. 기본 SQL 2 - DDL (CREATE, ALTER), DML (INSERT, UPDATE)

by 파프리카_ 2020. 8. 7.
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
반응형