KoreanFoodie's Study

SQL 기초 - 6. 데이터 관리(삽입, 삭제, 갱신) 본문

Database

SQL 기초 - 6. 데이터 관리(삽입, 삭제, 갱신)

GoldGiver 2021. 10. 12. 13:00

이 글은 '김상형의 SQL 정복'의 예제 코드를 설명하는 방식으로 SQL 쿼리 예제를 소개하고 있습니다.

 

SQL 기초 - 6. 데이터 관리(삽입, 삭제, 갱신)

-- INSERT INTO 구문을 이용해 행을 추가할 수 있다. 이때 데이터 형식은 맞춰주어야 한다.
INSERT INTO tCity (name, area, popu, metro, region) 
VALUES ('서울', 605, 974, 'y', '경기');

-- VALUES를 바로 써줘도 된다.
INSERT INTO tCity VALUES ('서울', 605, 974, 'y', '경기');

INSERT INTO tCity VALUES ('평택', 453, 51, 'n', '경기');

INSERT INTO tCity VALUES ('평택', 51, 453, 'n', '경기');		// area와 popu가 바뀜
INSERT INTO tCity VALUES ('평택', 453, 'n', 51, '경기');		// popu와 metro 순서가 바뀜
INSERT INTO tCity VALUES ('평택', 453, 'n', '경기');		// popu 필드값 누락

INSERT INTO tCity (area, popu, metro, region, name) 
VALUES (453, 51, 'n', '경기', '평택');

-- TRUNCATE를 이용하면 테이블의 모든 데이터를 지운다(물리). 이는 ROLLBACK으로도 되돌릴 수 없다.
TRUNCATE TABLE tCity;

-- MySQL에서는 아래와 같은 문법을 허용한다. 오라클은 아직...
INSERT INTO tCity (name, area, popu, metro, region) VALUES 
('서울',605,974,'y','경기'), 
('부산',765,342,'y','경상'),
('오산',42,21,'n','경기'),
('청주',940,83,'n','충청'),
('전주',205,65,'n','전라'),
('순천',910,27,'n','전라'),
('춘천',1116,27,'n','강원'),
('홍천',1819,7,'n','강원');

-- 기존 테이블에서 가져온 데이터를 삽입할 때는 INSERT INTO ... SELECT FROM ...을 쓴다.
INSERT INTO tStaff(name, depart, gender, joindate, grade, salary, score)
SELECT name, region, metro, '20210629', '신입', area, popu FROM tCity WHERE region = '경기';

INSERT INTO tStaff(name, depart, gender, joindate, grade, salary, score)
SELECT name, 지원부서, gender, 오늘, '수습', 230, score * 0.1 FROM tCandidate 
WHERE result = '합격';

-- 기존 테이블 정보를 이용해 새 테이블을 만드는 방법이다.
CREATE TABLE tSudo AS SELECT name, area, popu FROM tCity WHERE region = '경기';
SELECT * FROM tSudo;

SELECT * INTO tCityCopy FROM tCity;

CREATE TABLE tStaff_8월20일 AS SELECT * FROM tStaff;

DELETE FROM tCity WHERE name = '부산';

DELETE FROM tCity WHERE region = '경기';

DELETE FROM tCity;

SELECT * FROM tCity WHERE popu > 50;

-- DELETE
-- SELECT *
FROM tStaff WHERE grade = '과장';

UPDATE tCity SET popu = 1000, region = '충청' WHERE name = '서울';

UPDATE tCity SET popu = 1000, region = '충청';

-- 인구를 2배 늘리는 쿼리이다.
UPDATE tCity SET popu = popu * 2 WHERE name = '오산';

CRUD (CREATE, READ, UPDATE, DELETE) 함수는 매우 중요하며, 기본 문법이 손에 익을 정도로는 숙련되어야 한다!

 

Comments