๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์
- DB : ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ํํ๋ก ์ ์ฅํด ๋์ ๊ฒ => DBMS(DataBase Management System) ์ด์ฉ
- ๊ด๊ณํ DB
- ์ ๊ทํ๋ฅผ ํตํด ์ด์ํ์ ๋ฐ ์ค๋ณต๋ฐ์ดํฐ ์ ๊ฑฐ
- ๋์์ฑ ๊ด๋ฆฌ์ ๋ณํ์ ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๋์ ์กฐ์ ๊ฐ๋ฅ
- SQL : ๊ด๊ณํ DB์์ ๋ฐ์ดํฐ ์ ์ใ์กฐ์ใ์ ์ด๋ฅผ ํ๊ธฐ ์ํด ์ฌ์ฉ ํ๋ ์ธ์ด
- DML (Data Manipulation Language, ๋ฐ์ดํฐ ์กฐ์์ด) : INSERT, SELECT, UPDATE, DELETE =>ISUD
- DDL (Data Definition Language, ๋ฐ์ดํฐ ์ ์์ด) : CREATE, ALTER, RENAME, DROP => CARD
- DCL (Data Control Language, ๋ฐ์ดํฐ ์ ์ด์ด) : GRANT(๊ถํ๋ถ์ฌ), REVOKE(๊ถํ ์ทจ์)
- TCL (Transaction Control Language, ํธ๋์ ์ ์ ์ด์ด) : COMMIT, ROLLBACK
- ํ
์ด๋ธ : ๊ด๊ณํ DB์ ๊ธฐ๋ณธ ๋จ์, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด, ์นผ๋ผ๊ณผ ํ์ 2์ฐจ์ ๊ตฌ์กฐ
- ERD : ํ
์ด๋ธ๊ฐ ์๋ก์ ์๊ด ๊ด๊ณ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋์ํํ ๊ฒ (E-R ๋ค์ด์ด๊ทธ๋จ)
DDL
- ๋ฐ์ดํฐ ํ์ : ํ ์ด๋ธ์ ํน์ ์๋ฃ๋ฅผ ์ ๋ ฅํ ๋, ๊ทธ ์๋ฃ๋ฅผ ๋ฐ์๋ค์ผ ๊ณต๊ฐ์ ์๋ฃ์ ์ ํ๋ณ๋ก ๋๋๋ ๊ธฐ์ค
- CHARACTER : ๊ณ ์ ๊ธธ์ด ๋ฌธ์์ด, ๋ณ์ ๊ฐ์ด 'ํฌ๊ธฐ'๋ณด๋ค ์์๋ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง => CHAR(ํฌ๊ธฐ)
- VARCHAR : ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์์ด => Oracle์ VARCHAR2(ํฌ๊ธฐ) / SQL์ VARCHAR(ํฌ๊ธฐ)
- NUMERIC : ์ซ์ํ => Oracle์ NUMBER(์ ์ฒด์๋ฆฌ์, ์์์ ์๋ฆฌ์) / SQL์ ์์ฒญ๋ง์
- DATETIME : ๋ ์งํ => Oracle์ DATE / SQL์ DATETIME
- ๋ช ๋ช ๊ท์น
- ์ํ๋ฒณ(๋์๋ฌธ์ ๊ตฌ๋ถX)
- ์ซ์, _, $, # ํ์ฉ
- ๋ฌธ์๋ก ์์ํ ๊ฒ
- ์ ์ฝ ์กฐ๊ฑด(CONSTRAINT) : ํน์ ์นผ๋ผ์ ์ค์ ํ๋ ์ ์ฝ
- PRIMARY KEY(UNIQUE + NOT NULL)
- UNIQUE KEY(null ๊ฐ๋ฅ)
- NOT NULL
- CHECK
- FOREIGN KEY
- NULL
- ์ ์๋์ง ์์ ๊ฐ / ๊ฐ์ ๋ถ์ฌ
- ๊ณต๋ฐฑใ์ซ์0 ์๋ฏธX
- ์์น์ฐ์ฐ ๊ฒฐ๊ณผ Null
- ๋ ผ๋ฆฌ์ฐ์ฐ ๊ฒฐ๊ณผ FALSE
- ๋น๊ต์ '์ ์ ์์'
- count() ๋์ง ์์
- ์ค๋ผํด์์๋ ๊ฐ์ฅ ํฐ ์๋ก ํ๋จ
- CREATE (ํ
์ด๋ธ ์์ฑ)
CREATE TABLE ํ
์ด๋ธ๋ช
(
์นผ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
๊ธฐ๋ณธ๊ฐ,
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด ์นผ๋ผ๋ช
);
CREATE TABLE student(
student_id CHAR(10) NOT NULL,
student_name VARCHAR(50) NOT NULL,
height INT(10),
join_date DATE,
CONSTRAINT student_pk PRIMARY KEY (student_id)
);
- ํ ์ด๋ธ ๊ตฌ์กฐ ํ์ธ
#Oracle
DESCRIBE ํ
์ด๋ธ๋ช
;
DESC ํ
์ด๋ธ๋ช
;
#SQL
exec sp_help 'dbo.ํ
์ด๋ธ๋ช
'
- SELECT๋ก ํ ์ด๋ธ ์์ฑ
#Oracle
CREATE TABLE ํ
์ด๋ธ๋ช
_temp
AS SELECT * FROM ํ
์ด๋ธ๋ช
;
#SQL
SELECT * INTO ํ
์ด๋ธ๋ช
_temp FROM ํ
์ด๋ธ๋ช
;
- ALTER (ํ
์ด๋ธ ์์ )
#์นผ๋ผ ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD ์ถ๊ฐํ ์นผ๋ผ๋ช
๋ฐ์ดํฐํ์
;
#์นผ๋ผ ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP COLUMN ์ญ์ ํ ์นผ๋ผ๋ช
;
#์นผ๋ผ ์ค์ ๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์นผ๋ผ๋ช
๋ฐ์ดํฐํ์
๊ธฐ๋ณธ๊ฐ ์ ์ฝ์กฐ๊ฑด); #Oracle
ALTER TABLE ํ
์ด๋ธ๋ช
ALTER COLUMN (์นผ๋ผ๋ช
๋ฐ์ดํฐํ์
๊ธฐ๋ณธ๊ฐ ์ ์ฝ์กฐ๊ฑด); #SQL
#์นผ๋ผ๋ช
๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
RENAME COLUMN ์นผ๋ผ๋ช
(๋ณ๊ฒฝ์ ) TO ์นผ๋ผ๋ช
(๋ณ๊ฒฝํ) #Oracle
sp_rename 'dbo.ํ
์ด๋ธ๋ช
.์นผ๋ผ๋ช
(๋ณ๊ฒฝ์ )', '์นผ๋ผ๋ช
(๋ณ๊ฒฝํ)', 'COLUMN'; #SQL
#์ ์ฝ์กฐ๊ฑด ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP CONTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
;
#์ ์ฝ์กฐ๊ฑด ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด (์นผ๋ผ๋ช
);
#ํ
์ด๋ธ ์ด๋ฆ ๋ณ๊ฒฝ
RENAME ํ
์ด๋ธ๋ช
(๋ณ๊ฒฝ์ ) TO ํ
์ด๋ธ๋ช
(๋ณ๊ฒฝํ); #Oracle
sp_rename 'dbo.ํ
์ด๋ธ๋ช
(๋ณ๊ฒฝ์ )', 'ํ
์ด๋ธ๋ช
(๋ณ๊ฒฝํ)'; #SQL
#ํ
์ด๋ธ ์ญ์
DROP TABLE ํ
์ด๋ธ๋ช
;
DROP TABLE ํ
์ด๋ธ๋ช
CASCADE CONSTRAINT; #CASCADE CONSTRAINT: ํด๋น ํ
์ด๋ธ๊ณผ ๊ด๊ณ๋ ์ ์ฝ์กฐ๊ฑด๋ ์ญ์
#ํ
์ด๋ธ์์ ๋ฐ์ดํฐ ์ ์ฒด ์ญ์
TRUNCATE TABLE ํ
์ด๋ธ๋ช
;
TCL
- ํธ๋์ญ์ ํน์ฑ : ์์์ฑ, ์ผ๊ด์ฑ, ์ง์์ฑ
'๐์๊ฒฉ์ฆ ๊ณต๋ถ > ๐ SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQLD] SQL ๊ธฐ๋ณธ - ์กฐ์ธ JOIN (0) | 2022.11.05 |
---|---|
[SQLD] SQL ๊ธฐ๋ณธ - ํจ์, GROUP BY, HAVING, ORDER BY (0) | 2022.11.05 |
[SQLD] ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ (0) | 2022.11.04 |
[SQLD] ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์ (0) | 2022.10.20 |
[SQLD] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด (0) | 2022.10.13 |