DDL 명령어 (Data Definition Language 데이터 정의어)
데이터 정의어에는 CREATE, DROP, ALTER 가 있습니다.
1. CREATE
Table 생성하는 명령어입니다.
CREATE TABLE product(
id NUMBER PRIMARY KEY,
name VARCHAR2(100) NOT NULL,
maker VARCHAR2(100) NOT NULL,
price NUMBER DEFAULT 0
)
product라는 테이블을 생성하는데, column들을 정의해 주는 방식입니다.
id는 PRIMARY KEY로 UNIQUE하고 NOT NULL의 성질을 가지고 있습니다. 또한, NUMBER로 숫자를 나타냅니다.
name은 VARCHAR2로 문자열을 표시하고 테이블 한 칸에 100byte만 저장 가능합니다.
price는 NUMBER로 숫자이고 값을 넣지 않으면 0을 나오게 하는 DEFAULT 값입니다.
2. DROP
생성한 테이블을 삭제하고 싶을 때 이 명령어를 사용합니다.
‼️ 이 명령어는 매우 매우 신중하게 사용해야 합니다. 아니면 백업 데이터를 만들고 나서 실행해야 합니다. 사라지고 나면 찾을 수 없을 겁니다. 테스트할 때에도 데이터베이스와 테이블을 잘 확인하고 삭제해야 합니다.
DROP TABLE product;
3. ALTER
생성한 테이블에서 column을 추가하고 싶을 때 사용하는 명령어입니다.
ADD
ALTER TABLE product ADD(location VARCHAR2(10));
product 테이블에 location 컬럼을 추가하는 명령어를 예시로 작성해 보았습니다.
MODIFY
ALTER TABLE member MODIFY(name VACHAR2);
member 테이블의 name 컬럼을 문자열로 바꾸기 위한 예시 작성입니다.
DROP
ALTER TABLE product DROP(location);
product 테이블에서 location 컬럼을 삭제할 때 사용합니다.
DML 명령어 (Data Manipulation Language 데이터 조작어)
테이블에 있는 데이터를 가져오거나 추가 수정 삭제하는 CRUD 명령어입니다.
❓CRUD - Create, Read, Update, Delete
1. 데이터 삽입 INSERT INTO ~ VALUES ~
INSERT INTO product(id,name,maker,price) VALUES(1,'불닭볶음면','삼양',1500);
product 테이블의 컬럼들을 괄호 안에 작성하고 VALUES안에 column들에 대응하는 값을 넣으면 됩니다.
2. 데이터 확인(불러오기) SELECT ~ FROM
SELECT id, name, maker, price FROM product
product 테이블의 원하는 column을 불러올 수 있습니다. 전체 column을 불러오려면 *을 이용하여
SELECT * FROM product
불러오는 방법도 있습니다. (개발할 때는 잘 사용하지 않는다고 합니다. 이유는 처음 보는 사람이 무엇을 불러내고 싶은 코드인지 확실히 알기 위해서입니다.)
3. 데이터 수정 UPDATE ~ SET ~(WHERE)
UPDATE product SET name='새우깡' WHERE id=1;
id가 1번인 제품의 이름을 새우깡으로 변경하는 문장입니다. 원래 상단에 작성한 것처럼 불닭볶음면이지만 새우깡으로 변경하는 문장입니다. WHERE 문을 작성하지 않으면 아마 모든 name이 다 새우깡으로 변경될 수 있으니 주의해야 합니다.
4. 데이터 삭제 DELETE FROM ~ (WHERE~)
DELETE FROM product;
product 테이블 내용 전부 제거입니다. 테이블의 데이터는 없어지지만 테이블 자체가 사라지는 것은 아닙니다. 테이블 자체가 사라지려면 DROP 명령어를 작성해야 합니다.
5. WHERE, ORDER BY
SELECT id,name,maker,price FROM product
WHERE price between 1400 and 1600
ORDER BY price DESC
SQL 문은 영어와 너무 유사하기 때문에 읽기 편합니다.
위의 문장도 그냥 영어 해석처럼 읽으면 쉽게 읽힙니다. 물론... 테이블이 복잡해지면 그때는 뭐 거의 영어 신문 읽는 느낌이 들겠지만요.
product 테이블에서 column들을 가져고옵니다
어떤 상품이냐면 price가 1400~ 1600원 사이인 물건을 가져온 후
물건을 상품 가격 내림차순으로 가져오라는 명령어 입니다.
소감
많이 사용하는 문장은 암기하면 좋을 것 같습니다. 하지만, 어떻게 매번 암기하겠습니까. 아주 쉬운 문법이나 문장도 뒤돌면 까먹기 때문에 반복 학습을 통해서 기억해보도록하죠. 그러니 이렇게 기록도 하고 그렇게 하면 좋을 것 같습니다.
출처
'코딩 개발 > ORACLE' 카테고리의 다른 글
ORACLE - GROUP BY HAVING (0) | 2023.05.08 |
---|---|
Oracle - SubQuery (0) | 2023.05.07 |
MACBOOK용 - ORACLE 연결(feat. AWS EC2) (0) | 2023.05.02 |
Java - Eclipse DB 연동 (ORACLE) Window 용 (0) | 2023.05.02 |
Oracle 연결을 위한 AWS EC2 Window 설정 (0) | 2023.05.02 |