본문 바로가기
스터디/Oracle DB

[ORACLE] 테이블 데이터 입력/수정/조회/삭제

by Baekee 2022. 3. 31.

########## 자료 입력

CRUD : Create(insert), Read(Select), Update, Delete

입력 조회 수정 삭제

 

 

[자료입력 - INSERT(C)]

INSERT INTO 테이블명

VALUES(자료, 자료, 자료, 자료); -> 기본적으로 무조건 자료는 다 넣어야 함

 

Ex) INSERT INTO sawon_table

VALUES (1, ‘hong’,‘02/03/15’,‘SEOUL’);

 

‘02/03/15’ -> 문자이므로 ‘’ 사용해야 함

‘’ 안 붙일 시, 나누기 처리가 됨

 

 

ref. sql문장의 key word는 대문자가 원칙

-> ·소문자 섞여 있을 시, PARSING(컴파일 작업) , 다른 문장으로 처리하여 번역을 계속하여 처리 속도가 느려짐

 

절을 따라 줄 바꿈 되어야 함(구와 절, INSERT , VALUES )

문자는 반드시 ‘’로 묶어주어야 함

 

COMMIT; 자료가 실질적으로 들어감

-> CUD 작업 시, 커밋해야 함, 각 코드 한 줄 당 해도 되고, 전체 작업 종료 후 커밋해도 됨

---드래그 후, ALT + ‘를 누르면 대·소문자 변경됨

 

INSERT INTO sawon_table

VALUES(3,'choi',null,'busan');

-> 빈 칸의 경우, 반드시 NULL 입력해야 함

 

3 choi (null) busan

 

 

<INSERT 필요 컬럼만 입력하기>

INSERT INTO 테이블명(컬럼명, 컬럼명, 컬럼명)

VALUES(, , ,);

 

 

INSERT INTO sawon_table(emp_id, emp_name, emp_address)

VALUES(5,'kim','jeju');

 

5 kim 21/04/21 jeju

 

=====> 처음 테이블 작성 시, default sysdate 값이 나오도록 했기 때문!

 

 

INSERT INTO sawon_table

VALUES(&id,'&name','&date','&address');

 

 

 

[DOS 모드(Windows PowerShell)]

 

sqlplus hr/hr

 

SQL> select * from sawon_table;

 

EMP_ID EMP_NAME EMP_HIRE

---------- ---------------------------------------- --------

EMP_ADDRESS

--------------------------------------------------------------------------------

1 hong 02/03/15

SEOUL

 

1 hong 02/03/15

seoul

 

2 bae 94/12/07

anyang

 

 

EMP_ID EMP_NAME EMP_HIRE

---------- ---------------------------------------- --------

EMP_ADDRESS

--------------------------------------------------------------------------------

3 choi

busan

 

5 kim 21/04/21

jeju

 

 

SQL> insert into sawon_table

2 values(&id,'&name','&date','&address');

Enter value for id: 10

Enter value for name: lee

Enter value for date: 05/07/25

Enter value for address: seoul

old 2: values(&id,'&name','&date','&address')

new 2: values(10,'lee','05/07/25','seoul')

 

1 row created.

 

SQL> /

Enter value for id: 11

Enter value for name: bae

Enter value for date: 94/12/07

Enter value for address: anyang

old 2: values(&id,'&name','&date','&address')

new 2: values(11,'bae','94/12/07','anyang')

 

1 row created.

 

 

------> 수정은 업데이트로 가능 엔터 후, 못 고침

* & : 엠퍼서트 기억창고!

* / + enter : 이전의 작업 반복

 

Dos 모드의 경우, 자동으로 커밋 됨!

 

 

 

 

[자료 수정  UPDATE(U)]

 

UPDATE 테이블명 -> 구와 절

SET 컬럼명 = 자료인자()

-> 결과는 전부 다 수정됨(해당 컬럼만 수정)

 

컬럼명 = 인자, 컬럼명 = 인자, 컬럼명 = 인자

-> 결과는 전부 다 수정됨(여러 컬럼 수정)

WHERE 조건

 

 

 

Q) 전사원의 급여 10% 인상하시오

 

UPDATE sawon_table

SET salary = salary * 1.1;

 

Q) 만든 sawon_table에서 사원 id 1인 사원의 주소를 jeju로 변경하시오

 

UPDATE sawon_table

SET emp_address = ‘jeju’

WHERE emp_id =1;

 

COMMIT;

 

SELECT * FROM sawon_table;

 

Q) 만든 sawon_table에서 사원 id 1인 사원의 컬럼을 모두 변경하시오.

 

UPDATE sawon_table

SET emp_name = ‘jung’, emp_address = ‘daegu’, emp = ‘02/07/16’

WHERE emp_id = 1;

 

COMMIT;

 

SELECT * FROM sawon_table;

 

 

 

 

 

[자료 조회  READ(R)]

 

SELECT * : 조회 *는 모든 컬럼 조회

FROM sawon_table : from 다음에는 테이블 명

SELECT *

FROM sawon_table

WHERE emp_id = 1;

 

-> 사원 ID 1인 사원의 정보 모두 나열됨

 

SELECT emp_name, emp_address

FROM sawon_table

WHERE emp_id = 1;

 

-> * 대신 컬럼명을 ,(콤마)로 구분하여 씀

사원 ID 1인 사원의 정보 중, 필요한 컬럼의 정보만 나열됨

 

 

Q) 컬럼명을 한글컬럼명에 준하는 별명을 달아 출력하기

 

SELECT emp_name 이름, emp_address 주소

FROM sawon_table

WHERE emp_id = 1;

 

 

[자료 삭제  DELETE(D)]

 

DELETE FROM 테이블명;

-> 테이블에 해당되는 모든 정보 삭제

 

ROLLBACK;

-> COMMIT의 반대, 정보 되돌리기

 

 

Q) 만든 sawon_table에서 사원 id 1인 사원의 정보를 삭제하시오

 

DELETE FROM sawon_table

WHERE emp_id = 1;

 

 

 

create table sangpum_table(

sangpum_id number(10),

sangpum_name char(30),

sale_place char(20),

sale_place_address varchar2(100),

manager_name varchar2(50),

sangpum_warehousing_date date default sysdate,

margin_rate number(5,2)

);

 

INSERT INTO sawon_table

VALUES(&id,'&name','&date','&address') ;

댓글