2023. 2. 15. 11:37ใDB
๋ฐ์ดํฐ๋ฒ ์ด์ค : ์๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ .
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ ํ์ ํํ๋ก ๋ค์ด๊ฐ
ํ๋ฒ | ์ด๋ฆ | ๋์ด | ์ฑ์ |
1 | ๊น์๋ฐ | 21 | 80 |
2 | ์ด์๋ฐ | 20 | 90 |
3 | ๋ฐ์๋ฐ | 30 | 75 |
๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํ๋ฒ ์ด๋ฆ ๋ฑ์ ์ ๋ชฉ์ค์ ์ด, column, ์์ฑ, attribute ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ํ ์ค์ ๋ฐ์ดํฐ > ํ์ ํ๋ช ์ ๋ฐ์ดํฐ๋ฅผ ํ, ๋ ์ฝ๋, ํํ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ํ ์ ์ฒด ์ฆ, ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ๊ฒ์ ํ ์ด๋ธ์ด๋ผ๊ณ ํ๋ค.
์๋ฐ์ฒ๋ผ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ด.
๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ช ๋ น์ด : SQL (structrured query language) - query๋ฅผ ์น๋ค๊ณ ํจ.
1.DDL (Data Definition Language) ๋ฐ์ดํฐ ์ ์์ด
2.DML ( Data Manipulation Language) ๋ฐ์ดํฐ ์กฐ์์ด
3.DCL (Data Control Language) ๋ฐ์ดํฐ ์ ์ด์ด
DBMS (๋ฐ์ดํฐ๋ฒ ์ด์ค๊ด๋ฆฌ์์คํ ) > sql developer
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํฌ์ํธ ์ฃผ์ : --
SQL์ ๋์๋ฌธ์ ๊ตฌ๋ถํ์ง ์์. ๋๋ฌธ์๋ก ์ฌ์ฉ!
๋ช ๋ น์ด ์คํํ๊ณ ์ถ์ ๋ ์คํ๋ฌธ์ ์ปค์ ๋๊ณ CTRL+ENTER
โผ ๊ณต๋ถ์ฉ ๊ณ์ ์์ฑ
-- ๊ณ์ ์์ฑ ์ ๊ณ์ ๋ช
๋ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ด ๋ง์๋๋ก ํ ์ ์๋๋ก ์ค์ ๋ช
๋ น์ด
ALTER SESSION SET "_ORACLE_SCRIPT"=true;
-- ๊ณ์ ๋ช
: MYDB ๋น๋ฐ๋ฒํธ : ORACLE๋ก ๊ณ์ ์์ฑ
CREATE USER MYDB IDENTIFIED BY ORACLE;
--MYDB ๊ณ์ ์ DB ์ ์ ๋ฐ ๊ธฐ๋ณธ ๊ถํ์ ๋ถ์ฌ (๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ํต์ ๋ง๋ ๊ถํ์ ์ค)
GRANT CONNECT, RESOURCE TO MYDB;
--MYDB ๊ณ์ ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๊ถํ ๋ถ์ฌ
ALTER USER MYDB DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
--TIP ๊ณ์ ์ญ์ ํ๋ ๋ช
๋ น์ด
DROP USER MYDB;
TIP : ์ ๋ง๋ค ๊ฐํํด์ ์ ๋ ฅํด์ผ ๋จ. (์ ๋ ํธ์ ํ๋กฌ์ ์จ์ผ์ ์ด๋ผ๊ณ ํจ)
ex)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL >= 500;
๋ช ๋ น์ด ํ๋ฒ์ ์ ๋ ฅํ๊ธฐ : F5
๊ธฐ๋ณธ ์กฐํ ๋ฌธ๋ฒ :
SELECT ์กฐํํ ์ปฌ๋ผ๋ช ๋ค FROM ํ ์ด๋ธ๋ช ;
์ฌ๋ฌ๊ฐ์ ์ปฌ๋ผ๋ช ๋ค์ ์กฐํํ ๊ฒฝ์ฐ :
, ๋ก ๋์ดํ๋ฉด ๋จ
๋ชจ๋ ์ ๋ณด ์กฐํํ ๊ฒฝ์ฐ :
์ปฌ๋ผ๋ช ๋์ * ์ฐ๋ฉด ๋จ ( * : ์์คํ ๋ฆฌ์ - ALL์ด๋ผ๋ ๋ป)
NOT NULL : ํ์ ์ ๋ณด๋ผ๋ ๋ป
ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฌธ๋ฒ :
SELECT ์ปฌ๋ผ๋ช
๋ค FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด๋ค
์กฐ๊ฑด์ด ์ฌ๋ฌ๊ฐ๋ฉด AND / OR ์ฐ๋ฉด ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ๋ค๋ ์๋ฏธ =
๋ฌธ์์ด์ ' ' ํ๋ฐ์ดํ์ ๊ฐ์ธ์ผ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ํฌ๊ธฐ ๋น๊ต :
>, <, <=, >= ๊ธฐ๋ณธ์ ์ธ ๊ฒ ๋์ผ
!=, <> : ๊ฐ์ง ์๋ค๋ ์๋ฏธ ๋๊ฐ์ง๋ก ์ฌ์ฉ ๊ฐ๋ฅ.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ NULL๊ณผ 0์ ์ฐจ์ด :
NULL์ ๊ทธ ์์ฑ์ ํด๋น ์ ๋จ์ ์๋ฏธ
0์ ๊ทธ ์์ฑ์ ํด๋น ๋๋๋ฐ ๋ฐ์ดํฐ ์๋ ๊ฒ์ ์๋ฏธ
NULL์ธ ์ ๋ณด ์ฒดํฌํ ๋ :
๋ฑํธ๊ฐ ์๋๋ผ IS(IS NOT)๋ฅผ ์จ์ผ ๋จ.
-- ๋ฐ์ดํฐ ์กฐํ ๋ช
๋ น์ด
-- EMP ํ
์ด๋ธ์ ์ํ ๋ชจ๋ ์ฌ์์ ์ด๋ฆ์ ์กฐํ
SELECT ENAME FROM EMP;
--EMP ํ
์ด๋ธ์ ์ํ ๋ชจ๋ ์ฌ์์ ์ด๋ฆ, ์ฌ๋ฒ ์กฐํ
SELECT EMPNO,ENAME FROM EMP;
--EMP ํ
์ด๋ธ์ ์ํ ๋ชจ๋ ์ฌ์์ ๋ชจ๋ ์ ๋ณด ์กฐํ
SELECT * FROM EMP;
--ํ
์ด๋ธ์ ์ปฌ๋ผ ์ ๋ณด๋ฅผ ํ์ธํ๋ ์ฟผ๋ฆฌ
DESC EMP;
--ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฌธ๋ฒ
--๋ฌธ๋ฒ
--SELECT ์ปฌ๋ผ๋ช
๋ค FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด๋ค
--๊ธ์ฌ๊ฐ 500์ด์์ธ ์ฌ์๋ค์ ์ฌ๋ฒ, ์ด๋ฆ, ๊ธ์ฌ ์กฐํ
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL >= 500;
-- ์ฌ์๋ช
์ด ์ค์งํธ์ธ ์ฌ์์ ์ฌ๋ฒ, ์ด๋ฆ, ๋ถ์ ๋ฒํธ, ์
์ฌ์ผ ์กฐํ
SELECT EMPNO, ENAME, DEPTNO, HIREDATE
FROM EMP
WHERE ENAME = '์ค์งํธ';
--๊ทธ๋ฆฌ๊ณ : AND, ์ด๊ฑฐ๋ : OR
--๋ถ์ ๋ฒํธ๊ฐ 20๋ฒ์ด๋ฉด์, ๊ธ์ฌ๊ฐ 500์ด์์ธ ์ฌ์๋ค์ ์ฌ๋ฒ, ์ด๋ฆ, ๋ถ์๋ฒํธ, ๊ธ์ฌ ์กฐํ
SELECT EMPNO, ENAME, DEPTNO, SAL
FROM EMP
WHERE DEPTNO = 20
AND SAL >= 500;
--ํฌ๊ธฐ ๋น๊ต >, <, <=, >=,
-- !=, <> ๊ฐ์ง ์๋ค๋ ์๋ฏธ ๋๊ฐ์ง
SELECT * FROM EMP;
SELECT * FROM DEPT;
-- ์ปค๋ฏธ์
์ด NULL์ธ ์ฌ์์ ๋ชจ๋ ์ ๋ณด ์กฐํ
-- NULL์ ์ฒดํฌํ ๋๋ ๋ฑํธ๊ฐ ์๋๋ผ IS(IS NOT)๋ฅผ ์จ์ผ ๋จ.
SELECT *
FROM COMM
WHERE COMM IS NULL;
--WHERE COMM IS NOT NULL;
--์ค์ต--
--1. ์ง๊ธ์ด ์ฌ์์ธ ์ง์์ ์ฌ๋ฒ, ์ง๊ธ, ์ฌ์๋ช
์กฐํ
SELECT EMPNO, JOB, ENAME
FROM EMP
WHERE JOB = '์ฌ์';
--2. ์ง๊ธ์ด ์ฌ์์ด ์๋๊ณ ๊ธ์ฌ๊ฐ 800 ๋ฏธ๋ง์ธ ์ง์์ ์ฌ๋ฒ, ์ง๊ธ, ๊ธ์ฌ, ๋ถ์๋ฒํธ ์กฐํ
SELECT EMPNO, JOB, SAL, DEPTNO
FROM EMP
WHERE JOB != '์ฌ์'
AND SAL < 800;
--3. ๊ธ์ฌ๊ฐ 400 ์ด์ 700 ์ดํ์ธ ์ฌ์ ์ค ์ธ์ผํฐ๋ธ๋ฅผ ๋ฐ๋ ์ฌ์์ ์ด๋ฆ, ๊ธ์ฌ, COMM ์กฐํ
SELECT ENAME, SAL, COMM
FROM EMP
WHERE SAL >= 400 AND SAL <= 700 -- ์ฌ์ด ์กฐ๊ฑด ํ๋ฒ์ ํํํ ์ ์๋ค. ์ถ๊ฐ ๋ด์ฉ ๋ณด๊ธฐ
AND COMM IS NOT NULL;
--4. 10๋ฒ ๋ถ์๋ฅผ ์ ์ธํ ์ฌ์ ์ค์์ ์ง๊ธ์์ฌ๊ฐ ์์ผ๋ฉฐ ๊ธ์ฌ๋ 500์ด์์ ๋ฐ๊ณ ,
-- ์ฌ๋ฒ์ 1005๋ฒ ์ด์์ธ ์ฌ์๋ค์ ๋ชจ๋ ์ ๋ณด ์กฐํ
SELECT *
FROM EMP
WHERE DEPTNO != 10
AND MGR IS NULL
AND SAL >= 500
AND EMPNO >= 1005;
--์ถ๊ฐ ๋ด์ฉ : ๊ธ์ฌ๊ฐ 400~700 ์ฌ์ด์ธ ๋ชจ๋ ์ฌ์ ์ ๋ณด ์กฐํ
--์ปฌ๋ผ๋ช
BETWEEN A AND B (์๋๊ฐ ๋๋ ค์ ์ถ์ฒ X)
SELECT *
FROM EMP
WHERE SAL BETWEEN 400 AND 700;
'DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฒ์ํ ๋ง๋ค๊ณ db ์ฐ๊ฒฐ ์ค์ต (0) | 2023.02.17 |
---|---|
DB3 (0) | 2023.02.17 |
DB-java ์ฐ๊ฒฐ (0) | 2023.02.16 |
๋ฐ์ดํฐ๋ฒ ์ด์ค2 (0) | 2023.02.16 |
DB ํ ์ด๋ธ ์์ฑ (0) | 2023.02.16 |