๐ DB
1. ํน์ ๊ธฐ์ ์ด๋ ์กฐ์ง ๋๋ ๊ฐ์ธ์ด ํ์์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ํํ๋ก ์ ์ฅํด๋์ ๊ฒ
2. ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉ, ์ ์ฅ, ์ด์, ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์งํฉ
๐ป DBMS
1. ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ถํฐ ์๊ธฐ์น ๋ชปํ ์ฌ๊ฑด์ผ๋ก ์ธํ ๋ฐ์ดํฐ ์์์ ํผํ๊ณ , ํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ SW
2. ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ํด๊ฒฐํด์ฃผ๊ณ ๋ฐ์ดํฐ ์ถ๊ฐ, ์์ , ๊ฒ์, ์ญ์ , ๋ฐฑ์ , ๋ณด์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ง์ํ๋ SW
๐ SQL
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ ์, ์กฐ์, ์ ์ด๋ฅผ ์ํด ์ฌ์ฉํ๋ ์ธ์ด
- DML : SELECT, INSERT, UPDATE, DELETE
- DDL : CREATE, ALTER, DROP, RENAME
- DCL : GRANT, REVOKE
- TCL : COMMIT, ROLLBACK
๐ TABLE
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ ๋จ์๋ก, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฐ
- ๊ฐ๋ก : ํ = ROW
- ์ธ๋ก : ์ด = COLUMN
๐ ์ ๊ทํ
1. ๋ฐ์ดํฐ์ ์ ํฉ์ฑ ํ๋ณด์ ๋ฐ์ดํฐ ์ ๋ ฅ / ์์ / ์ญ์ ์ ๋ฐ์ํ ์ ์๋ ์ด์ํ์์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค๋ณต ์ ๊ฑฐํ๋ ์์
2. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ํ๋ก์ธ์ค
๐ ๋ฐ์ ๊ทํ
1. ์ ๊ทํ๋ Entity, ์์ฑ, ๊ด๊ณ์ ๋ํด ์ฑ๋ฅํฅ์๊ณผ ๊ฐ๋ฐ ๋ฐ ์ด์์ ๋จ์ํ๋ฅผ ์ํด ์ค๋ณต, ํตํฉ, ๋ถ๋ฆฌํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ
๐ ๊ธฐ๋ณธํค
1. ํ ์ด๋ธ์ ์กด์ฌํ๋ ๊ฐ ํ์ ํ ๊ฐ์ง ์๋ฏธ๋ก ํน์ ํ ์ ์๋ ํ ๊ฐ ์ด์์ ์นผ๋ผ
2. ์ ์ผ์ฑ, ์ต์์ฑ, ๋ํ์ฑ์ ๋ง์กฑํ๋ฉฐ, null์ ํ์ฉํ์ง ์๋ ํค
๐ ์ธ๋ถํค
1. ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ก ์ฌ์ฉ๋๊ณ ์๋ ๊ด๊ณ๋ฅผ ์ฐ๊ฒฐํ๋ ์นผ๋ผ
1๏ธโฃ DDL - CREATE, ALTER, DROP, RENAME
ํ ์ด๋ธ ๋ช ์ ๋ค๋ฅธ ํ ์ด๋ธ ๋ช ๊ณผ ์ค๋ณต๋์ ์๋ฉ๋๋ค.
ํ ์ด๋ธ ๋ด ์นผ๋ผ ๋ช ์ ์ค๋ณต๋ ์ ์์ต๋๋ค.
๊ฐ ์นผ๋ผ์ , ๋ก ๊ตฌ๋ถ๋๊ณ ; ๋ก ๋๋ฉ๋๋ค.
ํ ์ด๋ธ๋ช ๊ณผ ์นผ๋ผ๋ช ์ ๋ฐ๋์ ๋ฌธ์๋ก ์์ํด์ผํฉ๋๋ค.
A-Z, a-z, 0-9, _, $, #๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ ํ
- CHAR(s) : ๊ณ ์ ๊ธธ์ด ๋ฌธ์์ด ์ ๋ณด ์ต๋, ๊ธธ์ด ๋งํผ ๊ณต๊ฐ ์ฑ์ | ‘AA’ = ‘AA ’
- VARCHAR2(s) : ๊ฐ๋ณ ๊ธธ์ด ๋ฌธ์์ด ์ ๋ณด ํ ๋น๋ ๋ณ์ ๊ฐ์ ๋ฐ์ดํธ๋ง ์ ์ฉ | ‘AA’ != ‘AA ’
- NUMBER : ์ ์, ์ค์ ๋ฑ ์ซ์ ์ ๋ณด
- DATE : ๋ ์ง์ ์๊ฐ ์ ๋ณด
ํ ์ด๋ธ ์์ฑ
CREATE TABLE PLAYER (
PLAYER_ID CHAER(7) NOT NULL,
PLAYER_NAME VARCHAR2(20) NOT NULL
);
CREATE TABLE VIP_PLAYER AS SELECT * FROM PLAYER;
CREATE TABLE VIP_PLAYER AS SELECT PLAYER_NAME FROM PLAYER;
ํ ์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ
์ปฌ๋ผ ์ถ๊ฐ
ALTER TABLE PLAYER ADD(ADDRESS VARCHAR2(80));
์ปฌ๋ผ ์ญ์
ALTER TABLE PLAYER DROP COLUMN ADDRESS;
์ปฌ๋ผ ์์
ALTER TABLE TEAM_TEMP MODIFY(ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL);
์ ์ฝ์กฐ๊ฑด ์ญ์ & ์ถ๊ฐ
DROP CONSTRAINT ์กฐ๊ฑด๋ช
;
ADD CONSTRAINT ์กฐ๊ฑด๋ช
์กฐ๊ฑด (์นผ๋ผ๋ช
);
ํ ์ด๋ธ ๋ช ๋ณ๊ฒฝ & ํ ์ด๋ธ ์ญ์ & ํ ์ด๋ธ ๋ฐ์ดํฐ ์ญ์ & ์ปฌ๋ผ ๋ช ๋ณ๊ฒฝ
RENAME PLAYER TO PLAYER_BACKUP;
DROP TABLE PLAYER;
TRUNCATE TABLE PLAYER;
RENAME COLUMN TEAM_ID TO T_ID;
2๏ธโฃ DML - INSERT, UPDATE, DELETE, SELECT
๊ธฐ๋ณธ ์์
INSERT INTO PLAYER (PLAYER_NAME, PLAYER_NO) VALUES ('LSG', 54);
UPDATE PLAYER SET PLAYER_RANK = '์ผ๋ฐํ์';
DELETE FROM PLAYER;
SELECT PLAYER_ID FROM PLAYER;
SELECT DISTINCT PLAYER_NAME AS "์ ์๋ช
" FROM PLAYER;
/*
DISTINCT : ์ค๋ณต ์ 1ํ๋ง ์ถ๋ ฅํฉ๋๋ค.
AS : ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ ๋ ์ปฌ๋ผ๋ช
์ ์์๋ก ๋ณ๊ฒฝํฉ๋๋ค.
*/
์์ผ๋ ์นด๋๋ ๊ฒ์ํ๋ ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ์์ง ๋ชปํ๋ ๊ฒฝ์ฐ์๋ ๊ฒ์์ด ๊ฐ๋ฅํ๋๋ก ๋์ต๋๋ค.
*, %, _
SELECT PLAYER_NO FROM PLAYER WHERE PLAYER_NAME LIKE 'L%';
SELECT PLAYER_NO FROM PLAYER WHERE PLAYER_NAME LIKE '%L%';
SELECT PLAYER_NO FROM PLAYER WHERE PLAYER_NICKNAME LIKE 'COLL%' AND PLAYER_NAME = '%L';
SELECT PLAYER_NO FROM PLAYER WHERE PLAYER_NAME LIKE 'L_';
SELECT PLAYER_NO FROM PLAYER WHERE PLAYER_NAME LIKE '_L___';
ํฉ์ฑ ์ฐ์ฐ์๋ ๋ฌธ์์ ๋ฌธ์๋ฅผ ์ฐ๊ฒฐํด์ค๋๋ค.
SELECT PLAYER_NAME || '๋์ ๋ฒํธ๋ ' || PLAYER_NO || ' ์
๋๋ค.' FROM PLAYER;
์ฐ์ ์ฐ์ฐ์๋ ์ฌ์น์ฐ์ฐ๊ณผ ๋น์ทํ ๊ตฌ์กฐ๋ก, ๋ํ๊ธฐ / ๋นผ๊ธฐ / ๊ณฑํ๊ธฐ / ๋๋๊ธฐ / ์ฐ์ ์์ ์ค์ ์ด ์์ต๋๋ค.
SELECT NAME AS "์ด๋ฆ", WEIGHT/((HEIGHT/100)*(HEIGHT/100)) AS "BMI ๋น๋ง์ง์" FROM FAMILY;
์ด๋ฆ BMI ๋น๋ง์ง์
--------- -----------
LSG 20
MIN 25
3๏ธโฃ TCL
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํธ๋์ญ์ ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํ ๋จ์์ ๋๋ค. ์ค๋ผํด์์ ๋ฐ์ํ๋ ์ฌ๋ฌ ๊ฐ์ SQL ๋ช ๋ น๋ฌธ๋ค์ ํ๋์ ๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์๋ก ์ฒ๋ฆฌํ๋๋ฐ ์ด๋ฅผ ํธ๋์ญ์ ์ด๋ผ๊ณ ํ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด ์ค์์ ํ๋์ ๋ช ๋ น์ด๋ผ๋ ์๋ชป๋์๋ค๋ฉด ์ ์ฒด๋ฅผ ์ทจ์ํฉ๋๋ค.
COMMIT;
์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์๋ ๋ฐ์ดํฐ๋ฅผ DB์ ๋ฐ์ํฉ๋๋ค.
ROLLBACK;
ROLLBACK TO SVPT1;
ํธ๋์ญ์
์์ ์ด์ ์ ์ํ๋ก ๋๋๋ฆฝ๋๋ค.
SAVEPOINT;
SAVEPOINT SVPT1;
์ ์ฅ ์ง์ ์ ์ค์ ํฉ๋๋ค.
'DB์ SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Part 3. SQL - TABLE ๊ตฌ์กฐ ๋ณ๊ฒฝ : DDL(ALTER) (0) | 2021.05.17 |
---|---|
Part 2. SQL - DATABASE, TABLE ์์ฑ : DDL(CREATE) (0) | 2021.05.10 |
Part 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์ SQL์ด๋? (0) | 2021.05.05 |