์๋ฃํ:
* ์๋ฃํ( TYPE )
- ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ค์ ํํ ( ์ซ์, ๋ฌธ์, ๋ ์ง ๋ฑ )
- ๋ฌธ์์ด
- CHAR(๊ธธ์ด)
- ๊ณ ์ ๋ ๊ธธ์ด์ ์ฐ์
- CHAR(13)
A___ ( A๋ฌธ์ ํ๋ + ๊ณต๋ฐฑ 3๊ฐ )
JUMIN CHAR(13)
1______________________
- VARCHAR(๊ธธ์ด)
- ์์ ์๋ฃํ ( ๊ธฐ๋ฅ์ VARCHAR2์ ๊ฐ์ )
- ์ถํ์ ๋ฐ๋ฅธ ์ฉ๋๋ก ๋ณ๋๋ ์๋ ์๋ค๊ณ ํจ.
- VARCHAR2(๊ธธ์ด)
- ๊ฐ๋ณ ๊ธธ์ด์ ์ฐ์
- VARCHAR2(4) -> A___(x) A
- ์ซ์
- NUMBER(์๋ฆฟ์)
- NUMBER(3) ~ 999
- NUMBER(์๋ฆฟ์, ์์์ ์๋ฆฟ์)
- ๋ ์ง
- DATE : ์์์ ๋ง๊ฒ ์๊ฐ์ ์ ์ฅํ๋ ํ์
- ์๋ฆฟ์ ์ง์ ์ ํ์ง ์๋๋ค.
**
(')ํ๋ฐ์ดํ : ๋ฌธ์์ด์ ๊ฐ์ธ์ฃผ๋ ๊ธฐํธ ('๋ฌธ์์ด')
(")์๋ฐ์ดํ : ์ปฌ๋ผ๋ช
๋ฑ์ ๊ฐ์ธ์ฃผ๋ ๊ธฐํธ ("์ฌ์ฉ์๋ช
"."ํ
์ด๋ธ๋ช
"."์ปฌ๋ผ๋ช
")
--์์ 1) ๋์ด (AGE) ์ ์ด๋ฆ (NAME)์ ์ปฌ๋ผ์ผ๋ก ๊ฐ์ง๋ TEST๋ผ๋ ํ
์ด๋ธ์ ์์ฑํ๋ค.
ใ
กใ
กใ
กใ
กใ
ก
CREATE TABLE TEST(
AGE NUMBER(2), --์ซ์๊ฐ 2๊ฐ ๋ค์ด๊ฐ ์ ์๋ AGE๋ผ๋ COLUMN์์ฑ.
NAME VARCHAR2(10) --๋ฌธ์๊ฐ 10๊ฐ ๋ค์ด๊ฐ ์ ์๋ NAME์ด๋ผ๋ COLUMN์์ฑ.
);
SELECT * FROM TEST;
ใ กใ กใ กใ กใ ก
CREATE TABLE TEST(
AGE NUMBER(2), --์ซ์๊ฐ 2๊ฐ ๋ค์ด๊ฐ ์ ์๋ AGE๋ผ๋ COLUMN์์ฑ.
NAME VARCHAR2(10) --๋ฌธ์๊ฐ 10๊ฐ ๋ค์ด๊ฐ ์ ์๋ NAME์ด๋ผ๋ COLUMN์์ฑ.
);
SELECT * FROM TEST;
CREATE๋ฅผ ํตํด ๋ง๋ TABLE์ SELECT๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. (์์ฒ๋ผ.)
SELECT * FROM TEST; ๋ "TEST ํ ์ด๋ธ์ ๋ชจ๋ ๊ฒ์ ์ ํํ์ฌ ์จ๋ค." ๋ฅผ ์๋ฏธํ๋ค ํ ์ ์๋ค.
-- ์์ 2) ์์ด๋(ID),
--์ด๋ฆ ( NAME ), ์ ํ๋ฒํธ ( PHONE ), ์ฃผ์ ( ADDRESS )๋ฅผ ๊ฐ์ง๋ฉฐ
--ID๋ PK์ธ USERํ
์ด๋ธ ์์ฑ . / ์ด ๋, PK์ ์ด๋ฆ์ PK_USER๋ผ๊ณ ํ๋ค.
ใ กใ กใ กใ กใ ก
CREATE TABLE "USER"( -- ์ฌ๊ธฐ์ USER ์ ํฐ ๋ฐ์ํ๋ฅผ ์ฌ์ฉํ ์ด์ ๋ USER์ ๊ฐ์ ์์ฝ์ด๋
--" "๋ฅผ ํตํด ๋ฌถ์ด์ค์ผ ํ
์ด๋ธ๋ช
์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
ID VARCHAR2(10),
NAME VARCHAR2(10),
PHONE VARCHAR2(20),
ADDRESS VARCHAR2(100),
CONSTRAINT PK_USER PRIMARY KEY(ID)
--CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด ( ์ปฌ๋ผ๋ช
)
);
SELECT * FROM "USER";
ใ กใ กใ กใ กใ ก
CREATE TABLE "USER"( -- ์ฌ๊ธฐ์ USER ์ ํฐ ๋ฐ์ํ๋ฅผ ์ฌ์ฉํ ์ด์ ๋ USER์ ๊ฐ์ ์์ฝ์ด๋
--" "๋ฅผ ํตํด ๋ฌถ์ด์ค์ผ ํ
์ด๋ธ๋ช
์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
ID VARCHAR2(10),
NAME VARCHAR2(10),
PHONE VARCHAR2(20),
ADDRESS VARCHAR2(100),
CONSTRAINT PK_USER PRIMARY KEY(ID)
--CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด ( ์ปฌ๋ผ๋ช
)
);
SELECT * FROM "USER";
์๊น์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ ์ด๋ธ์ ๋จผ์ ๋ง๋ ํ,
SELECT * FROM ์ ํตํด ๋ง๋ค์ด์ง ๊ฒ์ ํ์ธํ๋ค.
-- ์ค์ต1)
-- ๋์๋ฒํธ ( ISBN ), ์ฅ๋ฅด ( GENRE ), ์ฑ
์ด๋ฆ ( BOOKNAME ), ์๊ฐ ( AUTHOR ), ์ถํ์ฌ ( PUBLISHER )๋ฅผ
--์ปฌ๋ผ์ผ๋ก ๊ฐ์ง๋ TBL_BOOKํ
์ด๋ธ ์์ฑ์ ํ๋๋ฐ,
-- PK์ด๋ฆ์ด BOOK_PK์ด๋ฉฐ, ๋์๋ฒํธ ( ISBN )์ปฌ๋ผ์ PK๋ก ํ๋ค.
ใ
กใ
กใ
กใ
กใ
ก
CREATE TABLE TBL_BOOK(
ISBN VARCHAR2(10), --๋ฌธ์ 10๊ฐ๊ฐ ๋ค์ด๊ฐ ์ ์๋ ISBN์ด๋ผ๋ COLUMN๋ช
์ ์์ฑ.
GENRE VARCHAR2(10), -- "
BOOKNAME VARCHAR2(10), -- "
AUTHOR VARCHAR2(10), -- "
PUBLISHER VARCHAR2(10), -- "
CONSTRAINT BOOK_PK PRIMARY KEY(ISBN)
);
SELECT * FROM TBL_BOOK;
ใ กใ กใ กใ กใ ก
CREATE TABLE TBL_BOOK(
ISBN VARCHAR2(10), --๋ฌธ์ 10๊ฐ๊ฐ ๋ค์ด๊ฐ ์ ์๋ ISBN์ด๋ผ๋ COLUMN๋ช
์ ์์ฑ.
GENRE VARCHAR2(10), -- "
BOOKNAME VARCHAR2(10), -- "
AUTHOR VARCHAR2(10), -- "
PUBLISHER VARCHAR2(10), -- "
CONSTRAINT BOOK_PK PRIMARY KEY(ISBN)
);
SELECT * FROM TBL_BOOK;
์๊น์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ ์ด๋ธ์ ๋จผ์ ๋ง๋ ํ,
SELECT * FROM ์ ํตํด ๋ง๋ค์ด์ง ๊ฒ์ ํ์ธํ๋ค.
ใ กใ กใ กใ กใ ก
-- ์์ 3) STUDENT๋ผ๋ ํ ์ด๋ธ ์์ฑ, ID, NAME, MAJOR, GENDER์ ์ปฌ๋ผ์ผ๋ก ๊ฐ์ง๋ฉฐ,
-- ID๋ฅผ PK๋ก ๊ฐ์ง๋ค. ์ด ๋ PK์ด๋ฆ์ ์์ .
CREATE TABLE STUDENT(
ID VARCHAR2(10),
NAME VARCHAR2(15),
MAJOR VARCHAR2(30),
GENDER CHAR(1) CONSTRAINT GENDER_CHECK CHECK(GENDER IN ('M' , 'M')),
CONSTRAINT ID_PK PRIMARY KEY(ID)
); -- STUDENT ํ
์ด๋ธ์ ์์ฑ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1004','์ ์์กฐ','MATH','M');
-- ('1004','์ ์์กฐ','MATH','M')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1005','์ ์์กฐ2','MATH2','M');
-- ('1005','์ ์์กฐ2','MATH2','M')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1006','์ ์์กฐ3','MATH3','W');
-- ('1006','์ ์์กฐ3','MATH3','W')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
SELECT * FROM STUDENT;
-- STUDENT ํ ์ด๋ธ์ ํธ์ถ.
ใ กใ กใ กใ กใ ก
-- ์์ 3) STUDENT๋ผ๋ ํ
์ด๋ธ ์์ฑ, ID, NAME, MAJOR, GENDER์ ์ปฌ๋ผ์ผ๋ก ๊ฐ์ง๋ฉฐ,
-- ID๋ฅผ PK๋ก ๊ฐ์ง๋ค. ์ด ๋ PK์ด๋ฆ์ ์์ .
CREATE TABLE STUDENT(
ID VARCHAR2(10),
NAME VARCHAR2(15),
MAJOR VARCHAR2(30),
GENDER CHAR(1) CONSTRAINT GENDER_CHECK CHECK(GENDER IN ('M' , 'M')),
CONSTRAINT ID_PK PRIMARY KEY(ID)
); -- STUDENT ํ
์ด๋ธ์ ์์ฑ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1004','์ ์์กฐ','MATH','M');
-- ('1004','์ ์์กฐ','MATH','M')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1005','์ ์์กฐ2','MATH2','M');
-- ('1005','์ ์์กฐ2','MATH2','M')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
INSERT INTO STUDENT(ID,NAME,MAJOR,GENDER) VALUES('1006','์ ์์กฐ3','MATH3','W');
-- ('1006','์ ์์กฐ3','MATH3','W')๋ฅผ ์
๋ ฅํ์ฌ STUDENTํ
์ด๋ธ์ ์ ์ฅ.
SELECT * FROM STUDENT;
-- STUDENT ํ
์ด๋ธ์ ํธ์ถ.
์ด์ฒ๋ผ 3๋ฒ ์ ๋ ฅํ ๊ฐ๋ค์ด STUDENT ํ ์ด๋ธ์ ์ ์ฅ๋์์์ ์ ์ ์๋ค.
ใ กใ กใ กใ กใ ก
-- ์์ 3) ์ผํ๋ชฐ ๊ตฌ์ฑ
-- ๋ด๊ฐ ๊ณผ์ฐ ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๊ฒ์ธ๊ฐ? ๋ฌด์์ด ํ์ํ๊ฐ?
-- ํ
์ด๋ธ, ์ํ, ์ฃผ๋ฌธ
-- [ ์ ์ ( ์ฌ์ฉ์ ) ]
-- ์ ์ ๋ฅผ ๋ง๋ค๋, ์ ์ ์ ๋ํด ์ด๋ ํ ์ ๋ณด๋ฅผ ๋ฐ์๊ฒ์ธ๊ฐ?
-- ์์ด๋(PK), ๋น๋ฐ๋ฒํธ, ์ด๋ฆ, ์ฃผ์, ์ฐ๋ฝ์ฒ .....
-- [ ์ํ ํ
์ด๋ธ ]
-- ์ํ์ฝ๋(PK), ์ํ์ด๋ฆ, ์ํ๊ฐ๊ฒฉ, ์ํ์๋, ์ ์กฐ์ฌ ....
-- [ ์ฃผ๋ฌธ ํ
์ด๋ธ ]
-- ์ฃผ๋ฌธ ๋ฒํธ(PK), ์ฃผ๋ฌธํ ์ฌ๋์ ์์ด๋, ์ฃผ๋ฌธํ ์ํ ์ฝ๋, ๊ตฌ๋งค ์๋...
--์ ์
CREATE TABLE TBL_USER(
ID VARCHAR2(20) CONSTRAINT PK_ID PRIMARY KEY, --ID๋ฅผ PK ์ค์ .
PW VARCHAR2(20),
NAME VARCHAR2(20),
ADDRESS VARCHAR2(100),
PHONENUM VARCHAR2(20),
);
-- ์ํ ํ
์ด๋ธ์ ์์ฑํ์ ( ํ
์ด๋ธ ์ด๋ฆ : TBL_PROD )
-- ์ํ์ฝ๋ ( PRODID ), ์ํ ์ด๋ฆ ( PRODNAME ), ์ํ ๊ฐ๊ฒฉ ( PRODPRICE ),
-- ์ํ ์๋ ( PRODQTT ), ์ ์กฐ์ฌ ( PRODCOMP )
-- PK๋ PRODID, PK ์ด๋ฆ์ PROD_PK ๋ผ๊ณ ์์ฑํ๋ค.
CREATE TABLE TBL_PROD(
PROID VARCHAR2(20) CONSTRAINT PROD_PK PRIMARY KEY,
PRONAME VARCHAR2(30),
PROPRICE VARCHAR2(30),
PRODATT VARCHAR2(50),
PRODCOMP VARCHAR2(30)
);
SELECT * FROM TBL_PROD;
-- ์ฃผ๋ฌธ ํ
์ด๋ธ์ ์์ฑํด๋ณด์
CREATE TABLE TBL_ORDER(
ORDERNUM VARCHAR2(10) CONSTRAINT PK_ORDERNUM PRIMARY KEY,
USERID VARCHAR2(20),
PROID VARCHAR2(20),
ORDERQTT VARCHAR2(10),
CONSTRAINT USERID_PK FOREIGN KEY(ID) REFERENCES TBL_USER(ID),
-- ORDER ํ
์ด๋ธ์์ ์ฐ๋ COLUMN๋ช
ID๋ ์ฌ๊ธฐ์ FK์ด๋ค.
CONSTRAINT PROD_PK FOREIGN KEY(PROID) REFERENCES TBL_PROD(PROID)
-- ORDER ํ
์ด๋ธ์์ ์ฐ๋ COLUMN๋ช
PROID๋ ์ฌ๊ธฐ์ FK์ด๋ค.
);
SELECT * FROM TBL_ORDER;
ใ กใ กใ กใ กใ ก
-- ์์ 3) ์ผํ๋ชฐ ๊ตฌ์ฑ
-- ๋ด๊ฐ ๊ณผ์ฐ ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๊ฒ์ธ๊ฐ? ๋ฌด์์ด ํ์ํ๊ฐ?
-- ํ
์ด๋ธ, ์ํ, ์ฃผ๋ฌธ
-- [ ์ ์ ( ์ฌ์ฉ์ ) ]
-- ์ ์ ๋ฅผ ๋ง๋ค๋, ์ ์ ์ ๋ํด ์ด๋ ํ ์ ๋ณด๋ฅผ ๋ฐ์๊ฒ์ธ๊ฐ?
-- ์์ด๋(PK), ๋น๋ฐ๋ฒํธ, ์ด๋ฆ, ์ฃผ์, ์ฐ๋ฝ์ฒ .....
-- [ ์ํ ํ
์ด๋ธ ]
-- ์ํ์ฝ๋(PK), ์ํ์ด๋ฆ, ์ํ๊ฐ๊ฒฉ, ์ํ์๋, ์ ์กฐ์ฌ ....
-- [ ์ฃผ๋ฌธ ํ
์ด๋ธ ]
-- ์ฃผ๋ฌธ ๋ฒํธ(PK), ์ฃผ๋ฌธํ ์ฌ๋์ ์์ด๋, ์ฃผ๋ฌธํ ์ํ ์ฝ๋, ๊ตฌ๋งค ์๋...
--์ ์
CREATE TABLE TBL_USER(
ID VARCHAR2(20) CONSTRAINT PK_ID PRIMARY KEY, --ID๋ฅผ PK ์ค์ .
PW VARCHAR2(20),
NAME VARCHAR2(20),
ADDRESS VARCHAR2(100),
PHONENUM VARCHAR2(20),
);
-- ์ํ ํ
์ด๋ธ์ ์์ฑํ์ ( ํ
์ด๋ธ ์ด๋ฆ : TBL_PROD )
-- ์ํ์ฝ๋ ( PRODID ), ์ํ ์ด๋ฆ ( PRODNAME ), ์ํ ๊ฐ๊ฒฉ ( PRODPRICE ),
-- ์ํ ์๋ ( PRODQTT ), ์ ์กฐ์ฌ ( PRODCOMP )
-- PK๋ PRODID, PK ์ด๋ฆ์ PROD_PK ๋ผ๊ณ ์์ฑํ๋ค.
CREATE TABLE TBL_PROD(
PROID VARCHAR2(20) CONSTRAINT PROD_PK PRIMARY KEY,
PRONAME VARCHAR2(30),
PROPRICE VARCHAR2(30),
PRODATT VARCHAR2(50),
PRODCOMP VARCHAR2(30)
);
SELECT * FROM TBL_PROD;
-- ์ฃผ๋ฌธ ํ
์ด๋ธ์ ์์ฑํด๋ณด์
CREATE TABLE TBL_ORDER(
ORDERNUM VARCHAR2(10) CONSTRAINT PK_ORDERNUM PRIMARY KEY,
USERID VARCHAR2(20),
PROID VARCHAR2(20),
ORDERQTT VARCHAR2(10),
CONSTRAINT USERID_PK FOREIGN KEY(ID) REFERENCES TBL_USER(ID),
-- ORDER ํ
์ด๋ธ์์ ์ฐ๋ COLUMN๋ช
ID๋ ์ฌ๊ธฐ์ FK์ด๋ค.
CONSTRAINT PROD_PK FOREIGN KEY(PROID) REFERENCES TBL_PROD(PROID)
-- ORDER ํ
์ด๋ธ์์ ์ฐ๋ COLUMN๋ช
PROID๋ ์ฌ๊ธฐ์ FK์ด๋ค.
);
SELECT * FROM TBL_ORDER;
-- ์๋ฌ๋ฉ์์ง
INSERT INTO TBL_USER (USERID, USERPW, USERNAME, USERADDR, USERPHONE) VALUES('1005', '1234', '๊น์ฒ ์', '์ธ์ฒ', '010-1234-5678');
INSERT INTO TBL_USER (USERID, USERPW, USERNAME, USERADDR, USERPHONE) VALUES('1004','1234','๊น์ฒ ์','์ธ์ฒ','01012345678');
INSERT INTO TBL_PROD ( PROID, PRONAME, PROPRICE, PROQTT, PROCOMP) VALUES ('2000', '๋
ธํธ๋ถ', 1000000, 1, 'LG');
SELECT * FROM TBL_PROD;
-- ์ ์ USERID : 1004(PK)
-- ์ํ RPOID : 2000 (PK)
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('3000', '1004', '2000', 2);
-- ์ฌ๊ธฐ์ USERID์ PROID๋ ๋ฌด์จ ๊ฐ์ ๊ฐ์ง ์ ์์๊น? => USREID : 1004 PROID : 2000
SELECT * FROM TBL_ORDER;
-- ์๋ฌ๋ฉ์์ง ํ์ธ
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('3000', '1005', '2000', 2);
-- ๊ฐ์ ๊ฐ ์
๋ ฅ
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('4000', '1004', '2000', 4);
ใ กใ กใ กใ กใ ก
-- ์๋ฌ๋ฉ์์ง
INSERT INTO TBL_USER (USERID, USERPW, USERNAME, USERADDR, USERPHONE) VALUES('1005', '1234', '๊น์ฒ ์', '์ธ์ฒ', '010-1234-5678');
INSERT INTO TBL_USER (USERID, USERPW, USERNAME, USERADDR, USERPHONE) VALUES('1004','1234','๊น์ฒ ์','์ธ์ฒ','01012345678');
INSERT INTO TBL_PROD ( PROID, PRONAME, PROPRICE, PROQTT, PROCOMP) VALUES ('2000', '๋
ธํธ๋ถ', 1000000, 1, 'LG');
SELECT * FROM TBL_PROD;
-- ์ ์ USERID : 1004(PK)
-- ์ํ RPOID : 2000 (PK)
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('3000', '1004', '2000', 2);
-- ์ฌ๊ธฐ์ USERID์ PROID๋ ๋ฌด์จ ๊ฐ์ ๊ฐ์ง ์ ์์๊น? => USREID : 1004 PROID : 2000
SELECT * FROM TBL_ORDER;
-- ์๋ฌ๋ฉ์์ง ํ์ธ
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('3000', '1005', '2000', 2);
-- ๊ฐ์ ๊ฐ ์
๋ ฅ
INSERT INTO TBL_ORDER ( ORDERID, USERID, PRODID, ORDERQTT ) VALUES('4000', '1004', '2000', 4);
๋.
':: DBMS ๐ฉ > OracleDB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DBMS] SQL -6- [SELECT] (0) | 2021.03.22 |
---|---|
[DBMS] SQL -5- [INSERT, UPDATE, DELETE] (0) | 2021.03.22 |
[DBMS] SQL ๊ฐ๋ -2- "E-R๋ชจ๋ธ, ์ ๊ทํ, ์ํ์ค ( Sequence )" (0) | 2021.03.22 |
[DBMS] - 4 - SQL - DROP, TRUNCATE (0) | 2021.03.16 |
[DBMS] -3- SQL - ALTER (0) | 2021.03.15 |
๋๊ธ