[SQL] DML(4) - Changing data(INSERT, UPDATE, DELETE)

문지은·2023년 4월 8일
0

Database with SQLite

목록 보기
6/7
post-thumbnail

데이터를 삽입, 수정, 삭제하는 방법에 대해 알아보자.
이번에는 새로운 테이블을 생성하여 연습해보자.

CREATE TABLE classmates (
    name TEXT NOT NULL,
    age INTEGER NOT NULL,
    address TEXT NOT NULL
);

INSERT statement

INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2, ...);

새 행을 테이블에 삽입

  1. 먼저 INSERT INTO 키워드 뒤에 데이터를 삽입할 테이블의 이름을 지정
  2. 테이블 이름 뒤에 쉼표로 구분된 컬럼 목록을 추가
    • 컬럼 목록은 선택사항이지만 컬럼 목록을 포함하는 것이 권장됨
  3. VALUES 키워드 뒤에 쉼표로 구분된 값 목록 추가
    • 만일 컬럼 목록을 생략하는 경우 값 목록의 모든 컬럼에 대한 값을 지정해야 함
    • 값 목록의 값 개수는 컬럼 목록의 컬럼 개수와 같아야 함

INSERT 예제

  • 단일 행 삽입하기
INSERT INTO classmates (name, age, address)
VALUES ('홍길동', 23, '서울');

INSERT INTO classmates
VALUES ('홍길동', 23, '서울');
  • 여러 행 삽입하기
INSERT INTO classmates
VALUES
    ('김철수', 30, '경기'),
    ('이영미', 31, '강원'),
    ('박진성', 26, '전라'),
    ('최지수', 12, '충청'),
    ('정요한', 28, '경상');

UPDATE statement

UPDATE table_name
SET column_1 = new_value_1,
		column_2 = new_value_2
WHERE
		search_condition;
  1. UPDATE 절 이후에 업데이트할 테이블을 지정
  2. SET 절에서 테이블의 각 컬럼에 대해 새 값을 설정
  3. WHERE 절의 조건을 사용하여 업데이트할 행을 지정
    • WHERE 절은 선택 사항
    • 생략하면 UPDATE 문은 테이블의 모든 행에 있는 데이터를 업데이트 함
  4. 선택적으로 ORDER BY 및 LIMIT 절을 사용하여 업데이트 할 행 수를 지정할 수도 있음

UPDATE 예제

  • 2번 데이터의 이름을 '김철수한무두루미', 주소를 '제주도'로 수정하기
UPDATE classmates
SET name = '김철수한무두루미',
    address = '제주도'
WHERE rowid = 2;

DELETE statement

DELETE FROM table_name
WHERE search_condition;
  • 테이블에서 행을 제거
  • 테이블의 한 행, 여러 행 및 모든 행을 삭제할 수 있음
  1. DELETE FROM 키워드 뒤에 행을 제거하려는 테이블의 이름을 지정
  2. WHERE 절에 검색 조건을 추가하여 제거할 행을 식별
    • WHERE 절은 선택사항이며, 생략하면 DELETE 문은 테이블의 모든 행을 삭제
  3. 선택적으로 ORDER BY 및 LIMIT 절을 사용하여 삭제할 행 수를 지정할 수도 있음

DELETE 예제

  • 5번 데이터 삭제하기
DELETE FROM classmates WHERE rowid = 5;

-- 삭제된 것 확인
SELECT rowid, * FROM classmates;
  • 이름에 ‘영’이 포함되는 데이터 삭제하기
DELETE FROM classmates WHERE name LIKE '%영%';
  • 테이블의 모든 데이터 삭제하기
DELETE FROM classmates;

📍 요약

-- 단일 행 삽입하기
INSERT INTO classmates (name, age, address)
VALUES ('홍길동', 23, '서울');

INSERT INTO classmates
VALUES ('홍길동', 23, '서울');

-- 여러 행 삽입하기
INSERT INTO classmates
VALUES
    ('김철수', 30, '경기'),
    ('이영미', 31, '강원'),
    ('박진성', 26, '전라'),
    ('최지수', 12, '충청'),
    ('정요한', 28, '경상');

-- 2번 데이터의 이름을 '김철수한무두루미', 주소를 '제주도'로 수정하기
UPDATE classmates
SET name = '김철수한무두루미',
    address = '제주도'
WHERE rowid = 2;

-- 5번 데이터 삭제하기 (지수 삭제 ㅜㅜ)
DELETE FROM classmates WHERE rowid = 5;
-- 삭제된 것 확인
SELECT rowid, * FROM classmates;

-- 이름에 ‘영’이 포함되는 데이터 삭제하기
DELETE FROM classmates WHERE name LIKE '%영%';

-- 테이블의 모든 데이터 삭제하기
DELETE FROM classmates;
profile
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈

0개의 댓글