SQL문의 종류 / 데이터 조작어 DML(Data Manipulation Language)

<aside> 🐔 데이터 조회하기

SELECT UPPER('mango pineapple kiwi') as UPPER, LOWER('mango pineapple kiwi') as LOWER, INITCAP('mango pineapple kiwi') as "initcap"
FROM DUAL;

Untitled

</aside>

<aside> 🐠 테이블에 데이터 입력하기

INSERT INTO SALES.APAC_EMPS(EID, NAME, ADDRESS, SALARY, DEPTID, LOCATIONID) VALUES('2301','AMY','42 STREET','8500','10','20');

<aside> ⚠️ ?! 숫자에 ‘ ‘ 해도 왜 되는거지?

Oracle에서는 숫자(NUMBER) 형식의 컬럼에 문자열을 직접 삽입하더라도 암시적 형변환이 발생하여 자동으로 숫자로 변환될 수 있습니다. 이는 Oracle에서 데이터 형 변환 규칙에 따른 것입니다.

따라서 '2301'이라는 문자열을 숫자 형식의 컬럼에 삽입하면 Oracle은 자동으로 이를 숫자로 변환합니다. 이러한 자동 형변환은 데이터 형식 간의 호환성을 제공하며, 일반적으로 오라클은 문자열에서 숫자로의 변환을 허용합니다.

그러나 데이터 형 변환 시 주의해야 할 점이 있습니다. 데이터의 의도와 다르게 자동 변환이 발생할 수 있고, 오류가 발생할 수도 있습니다. 따라서 정확한 데이터 형식을 지정하여 삽입하는 것이 좋습니다. 이를 위해서는 데이터를 삽입하는 INSERT 문에서 숫자 컬럼에 대한 정확한 형식을 지정하도록 해야 합니다.

</aside>

</aside>

<aside> 🐡 데이터 수정하기

UPDATE SALES.APAC_EMPS SET LOCATIONID = 1001 WHERE EID = 2301;

</aside>

<aside> 🦈 데이터 삭제하기

DELETE SALES.APAC_EMPS WHERE EID = '2301';

</aside>

SQL 문의 종류 / 데이터 제어어 DCL(Data Control Language)

<aside> 🐙 GRANT {system_privilesges | object_privileges} TO user;

</aside>

<aside> 🐚 REVOKE {system_privilesges | object_privileges} FROM user;

</aside>

SQL 문의 종류 / 트랜잭션 제어어 TCL(Transaction Control Language)

<aside> 😜 먼저 연결한 사람이 임자임! 업데이트하고 커밋하기 전까지 다른놈은 아무도 못건드려! ALL OR NOTHING → 다 먹히거나 아무것도 안먹히거나

</aside>

Untitled