-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path사용자2(2019-10-01-001-Update-Delete).sql
133 lines (95 loc) · 3.37 KB
/
사용자2(2019-10-01-001-Update-Delete).sql
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
-- 여기는 USER2 화면입니다.
-- UPDATE, DELETE 명령
-- 새로운 사용자가 사용할 TABLE을 생성
-- 주소록 테이블을 생성
CREATE TABLE tbl_address (
st_name nVARCHAR2(20) NOT NULL, --이름은 반드시 있어야한다.
st_tel VARCHAR2(20) NOT NULL, --전화번호도 반드시 있어야한다.
st_addr nVARCHAR2(125),
st_chain nVARCHAR2(10),
st_rem nVARCHAR2(125),
st_birth VARCHAR2(10),
st_age NUMBER(3)
);
DROP TABLE tbl_addres;
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('홍길동', '서울특별시');
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('이몽룡', '익산시');
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('성춘향', '남원시');
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('장길산', '부산광역시');
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('임꺽정', '함경남도');
COMMIT;
SELECT * FROM tbl_address;
--UPDATE
UPDATE tbl_address
set st_addr = '서울특별시';
SELECT * FROM tbl_address;
-- 데이터의 추가, 수정, 삭제를 취소하는 명령
-- DCL 명령
ROLLBACK;
SELECT * FROM tbl_address;
-- UPDATE 명령을 기본형으로 수행을 하게 되면 모든 Record 값이 변경되어 버리는 사태가 발생
UPDATE tbl_address
SET st_addr = '서울특별시'
WHERE st_name = '홍길동';
UPDATE tbl_address
SET st_addr = '익산시'
WHERE st_name = '성춘향';
UPDATE tbl_address
SET st_addr = '남원시'
WHERE st_name = '이몽룡';
COMMIT;
SELECT * FROM tbl_address;
UPDATE tbl_address
SET st_addr = '익산시'
WHERE st_addr = '이몽룡';
UPDATE tbl_address
SET st_addr= '남원시'
WHERE st_name = '성춘향';
INSERT INTO tbl_address (st_name, st_tel)
VALUES ('홍길동', '서울특별시');
SELECT * FROM tbl_address;
DROP TABLE tbl_address;
CREATE TABLE tbl_address (
id NUMBER PRIMARY KEY,
name nVARCHAR2(20) NOT NULL, --이름은 반드시 있어야한다.
tel VARCHAR2(20) NOT NULL, --전화번호도 반드시 있어야한다.
addr nVARCHAR2(125),
chain nVARCHAR2(10),
rem nVARCHAR2(125),
birth VARCHAR2(10),
age NUMBER(3)
);
INSERT INTO tbl_address(id ,name, tel)
VALUES (1, '홍길동', '서울특별시');
INSERT INTO tbl_address(id ,name, tel)
VALUES (2, '홍길동', '서울특별시');
INSERT INTO tbl_address(id ,name, tel)
VALUES (3, '홍길동', '서울특별시');
INSERT INTO tbl_address(id ,name, tel)
VALUES (4, '이몽룡', '남원시');
INSERT INTO tbl_address(id ,name, tel)
VALUES (5, '성춘향', '익산시');
SELECT * FROM tbl_address;
UPDATE tbl_address
SET addr = '서울특별시'
WHERE id =1;
UPDATE tbl_address
SET addr = '광주광역시'
WHERE id =2;
UPDATE tbl_address
SET addr = '부산광역시'
WHERE id =3;
COMMIT;
-- DBMS를 운영하는 과정에서
-- 만에 하나 재난이 발생했을때
-- 데이터를 복구할 수 있는 준비를 해야한다.
-- 1. 백업 : 업무가 종료된 후 데이터를 다른 저장소, 저장매체에 복사하여 보관하는 것
-- 복구 : 백업해둔 데이터를 사용중인 시스템에 다시 설치하여 사용할 수 있도록 하는 것
-- 2. 로그 기록 : INSERT, UPDATE, DELETE 명령이 수행 될때
-- 수행되는 모든 명령들을 별도의 파일로 기록해 두고
-- 문제가 발생했을 때 로그를 다시 역으로 추적하여 복구하는 방법 (저널링 복구)