๐ SQL(Structured Query Language)์ด๋?
- DBMS์๊ฒ ๋ช
๋ น์ ๋ด๋ฆด๋์ ํน๋ณํ ๋ช
๋ น์ด ํ์ํ๋ค -> ์ด ๋ช
๋ น์ด SQL์ด๋ค
- SQL์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ฒ์ํ๊ณ ์ถ๊ฐ,์ญ์ ,์์ ๊ฐ์ ์กฐ์์ ํ ์ ์๋๋ก ๊ณ ์๋ ์ปดํจํฐ ์ธ์ด ์ด๋ค
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ณ ์ฟผ๋ฆฌํ๋ ํ์ค ์๋จ์ด๋ค
- DML(Data Manipulation Language) : ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ธฐ ์ํด ์ฌ์ฉ : INSERT,UPDATE,DELETE,SELECT
- DDL(Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง๋ฅผ ์ ์ํ๊ฑฐ๋ ์กฐ์ํ๊ธฐ ์ํด ์ฌ์ฉ : CREATE, DROP,ALTER
- DCL(Data Control Language) : ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ๋ ์ธ์ด์ด๋ค ๊ถํ์ ๊ด๋ฆฌํ๊ณ ๋ฐ์ดํฐ์ ๋ณด์,๋ฌด๊ฒฐ์ฑ๋ฑ์ ์ ์ํ๋ค : GRANT,REVOKE
๐ ๋ช ๋ น์ด
- sqlplus : ์ ์
- create : ๊ณ์ ์์ฑ
- create user java identified by java;
- grant : ๊ถํ์ ์ฃผ๋๊ฒ
- grant connect, resource to java;
- revoke : ๊ถํ ํ์
- exit : ์ข
๋ฃ
- alter : ์์
- cl scr : ํ๋ฉด ์ ๋ฆฌ(์ง์ฐ๊ธฐ)
๐ ์ฌ์ฉ์ ๊ณ์ (java) ์์ฑ ๋ฐ ์ํ ๊ณ์ (hr) ํ์ฑํ
1. cmd ๋ฅผ ์ด์ฉํ์ฌ Windows ํ๋กฌํํธ๋ก ์ง์
ํ์ฌ ์๋์ ๊ฐ์ด sysdba ๊ถํ์ผ๋ก ๋ก๊ทธ์ธํฉ๋๋ค.
- sqlplus "/as sysdba"
2. ์๋์ ๊ฐ์ด java ๋ผ๋ ๊ณ์ ๋ฐ java ๋ผ๋ ํจ์ฐ์๋๋ก ์ฌ์ฉ์ ๊ณ์ ์ ์์ฑํ๊ณ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
- create user java identified by java;
- grant connect, resource to java;
3. exit๋ก ๋น ์ ธ๋๊ฐ์ sqlplus java/java ์ด๋ฐ์์ผ๋ก ์ ์ํ๋ฉด ์ ์ ํ
์คํธ๋ฅผ ํ ์ ์์ต๋๋ค.
4. ๋ค์ exit๋ก ๋น ์ ธ๋์์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์ง์
ํ์ฌ(sqlplus "/as sysdba") hr์ด๋ผ๋ ์ํ ๊ณ์ ์ ํ์ฑํ์ํค๊ณ ๊ณ์ ๋น๋ฐ๋ฒํธ๋ฅผ ํ ๋นํฉ๋๋ค.
- alter user hr account unlock;
- alter user hr identified by hr;
5. ๋ง์ฐฌ๊ฐ์ง๋ก exit๋ก ๋น ์ ธ๋๊ฐ์ ์ ์ ํ
์คํธ๋ฅผ ์งํํฉ๋๋ค.
- sqlplus hr/hr
6. employees ๋ผ๋ ํ
์ด๋ธ์ ํํฉ์ ์๋์ describe ๋ช
๋ น์ ์
๋ ฅํ์ฌ ํ์ธํ ํ exit๋ก ๋น ์ ธ๋์ต๋๋ค.
- SQL> desc employees;
- Name Null? Type
----------------------------------------- -------- ----------------------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
DCL/TCL
- DCL(Data Control Language) : ๊ถํ(permission,privilege) ์กฐ์ -> grant / revoke
- TCL(Transactrion Control Languge) : commint/rollback