1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | SQL> CREATE TABLE HOME ( 2 HOMENO NUMBER, 3 HOMENAME VARCHAR2(10), 4 MANAGER VARCHAR2(15), 5 SALARY NUMBER 6 ); 테이블이 생성되었습니다. SQL> desc home; 이름 널? 유형 ----------------------------------------- -------- ---------------------------- HOMENO NUMBER HOMENAME VARCHAR2(10) MANAGER VARCHAR2(15) SALARY NUMBER SQL> SQL> INSERT INTO HOME VALUES(2106, 'Kims', '김창섭', 5000000); 1 개의 행이 만들어졌습니다. SQL> SQL> INSERT INTO HOME VALUES(3423, 'Parks', '박영권', 5300000); 1 개의 행이 만들어졌습니다. SQL> SQL> INSERT INTO HOME VALUES(3011, 'Lees', '이수민', 6400000); 1 개의 행이 만들어졌습니다. SQL> INSERT INTO HOME VALUES(1003, 'Joos', '주민희', 4700000); 1 개의 행이 만들어졌습니다. SQL> INSERT INTO HOME VALUES(3427, 'Chois', '최종철', 3500000); 1 개의 행이 만들어졌습니다. SQL> commit; 커밋이 완료되었습니다. SQL> select * from home; HOMENO HOMENAME MANAGER SALARY ---------- ---------- --------------- ---------- 2106 Kims 김창섭 5000000 3423 Parks 박영권 5300000 3011 Lees 이수민 6400000 1003 Joos 주민희 4700000 3427 Chois 최종철 3500000 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | SQL> ALTER TABLE HOME ADD CONSTRAINT HOME_PK PRIMARY KEY(HOMENO); 테이블이 변경되었습니다. SQL> ALTER TABLE HOME DROP COLUMN SALARY; 테이블이 변경되었습니다. SQL> DESC HOME; 이름 널? 유형 ----------------------------------------- -------- ---------------------------- HOMENO NOT NULL NUMBER HOMENAME VARCHAR2(10) MANAGER VARCHAR2(15) SQL> SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME='HOME'; TABLE_NAME CONSTRAINT_NAME C ------------------------------ ------------------------------ - HOME HOME_PK P SQL> SQL> spool off; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | QL> CREATE TABLE MANAHOME ( 2 MANAGERNO NUMBER NOT NULL, 3 HOMENAME VARCHAR2(10) UNIQUE, 4 SALARY NUMBER CHECK(SALARY<=6000000), 5 JOB VARCHAR2(15) DEFAULT '개발자', 6 PRIMARY KEY(MANAGERNO) 7 ); 테이블이 생성되었습니다. SQL> DESC MANAHOME; 이름 널? 유형 ----------------------------------------- -------- ---------------------------- MANAGERNO NOT NULL NUMBER HOMENAME VARCHAR2(10) SALARY NUMBER JOB VARCHAR2(15) SQL> SPOOL OFF; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | SQL> ALTER TABLE MANAHOME ADD (HNO NUMBER); 테이블이 변경되었습니다. SQL> desc manahome; 이름 널? 유형 ----------------------------------------- -------- ---------------------------- MANAGERNO NOT NULL NUMBER HOMENAME VARCHAR2(10) SALARY NUMBER JOB VARCHAR2(15) HNO NUMBER SQL> INSERT INTO MANAHOME VALUES(5454, 'Kims', 5000000, '분석가', 2106); 1 개의 행이 만들어졌습니다. SQL> INSERT INTO MANAHOME VALUES(4215, 'Lees', 4500000, '승무원', 3011); 1 개의 행이 만들어졌습니다. SQL> INSERT INTO MANAHOME VALUES(2452, 'Joos', 3200000, '분석가', 1033); 1 개의 행이 만들어졌습니다. SQL> INSERT INTO MANAHOME(MANAGERNO, HOMENAME, SALARY, HNO) VALUES(4852, 'Chois', 3000000, 3427); 1 개의 행이 만들어졌습니다. SQL> select* from manahome; MANAGERNO HOMENAME SALARY JOB HNO ---------- ---------- ---------- --------------- ---------- 5454 Kims 5000000 분석가 2106 4215 Lees 4500000 승무원 3011 2452 Joos 3200000 분석가 1033 4852 Chois 3000000 개발자 3427 SQL> spool off; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | SQL> SELECT * FROM HOME; HOMENO HOMENAME MANAGER ---------- ---------- --------------- 2106 Kims 김창섭 3423 Parks 박영권 3011 Lees 이수민 1003 Joos 주민희 3427 Chois 최종철 ##기존에 MANAHOME에 들어있던 데이터를 잘못 입력 (1033인데 1003으로 잘못) ## 하여 해당 행 수정 후 진행하였습니다 SQL> UPDATE MANAHOME SET HNO=1003 WHERE MANAGERNO=2452; 1 행이 갱신되었습니다. SQL> SELECT * FROM MANAHOME; MANAGERNO HOMENAME SALARY JOB HNO ---------- ---------- ---------- --------------- ---------- 5454 Kims 5000000 분석가 2106 4215 Lees 4500000 승무원 3011 2452 Joos 3200000 분석가 1003 4852 Chois 3000000 개발자 3427 SQL> ALTER TABLE MANAHOME ADD CONSTRAINT MANA_FK FOREIGN KEY(HNO) REFERENCES HOME(HOMENO); 테이블이 변경되었습니다. SQL> INSERT INTO MANAHOME VALUES(3235, 'Lees',2000000,'관리자',1111); INSERT INTO MANAHOME VALUES(3235, 'Lees',2000000,'관리자',1111) * 1행에 오류: ORA-00001: 무결성 제약 조건(JS.SYS_C0011622)에 위배됩니다 | cs |
'Database > SQL' 카테고리의 다른 글
[SQL] SELECT 문 실습 - 조인 쿼리, 서브 쿼리 (0) | 2018.03.05 |
---|---|
[SQL] SELECT 문 실습 - 데이터 변경 (0) | 2018.03.05 |
[SQL] SELECT 문 실습 - 데이터 조회 (2) | 2018.03.05 |