BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

Dev/ESTsoft 오르미

DML

2024. 2. 23. 11:02

1. DML이란?
  • Data Manipulation Language
  • 데이터베이스에서 데이터를 조작하는데 사용
  • sql을 이용해 데이터를 CRUD하기위한 문법
SELECT데이터 조회에 사용
INSERT데이터 삽입에 사용
UPDATE데이터 수정에 사용
DELETE데이터 삭제에 사용
2. 조회
SELECT조회할 열을 지정
FROM조회할 테이블을 지정
WHERE조회할 데이터를 필터링
  • 모든 열을 조회
    SELECT *
    FROM students;
  • 특정 열을 조회
    SELECT name, age
    FROM students;
  • 별칭을 사용하여 열 이름 변경
    SELECT name AS col1, age AS col2
    FROM students;
  • 조선을 사용하여 데이터 필터
    SELECT *
    FROM students
    WHERE age >= 30;
  • 중복된 행 제거
    SELECT DISTINCT address
    FROM students;
3. 삽입
  • INSERT INTO : 테이블에 새로운 행을 삽입할 때 사용
  • 한 행 삽입
    INSERT INTO students (name, age, address)
    VALUES ('김이박', 40, '서울특별시');
  • 한 행 삽입 + 특정 열만
    INSERT INTO students (name, age)
    VALUES ('신기루', 41);
  • 여러 행 삽입
    • 여러행을 한번에 삽입 한다고 해서 bulk insert라고도 한다.
    INSERT INTO students (name, age, address)
    VALUES ('학생1', 20, '경기도'), ('학생2', 22, '경기도'), ('학생3', 23, '경기도');
  • 조회 후 삽입
    INSERT INTO students (name, age, address)
    SELECT name, age, address FROM students WHERE age < 30;
4. 수정
  • 테이블에 새로운 행을 수정할 때 사용
    UPDATE수정할 테이블을 지정
    SET데이터 수정
    WHERE수정할 데이터를 필터링
  • 필드 한 개 수정
    UPDATE students
    SET age = 99
    WHERE name = '이황';
  • 필드 여러 개 수정
    UPDATE students
    SET age = 10,
    		address = '서울특별시'
    WHERE name = '정약용';
  • 조건부 수정
    UPDATE students
    SET address = '인천광역시'
    WHERE age < 33;
5. 삭제
  • 테이블의 행을 삭제할 때 사용
  • Delete는 행을 삭제하기 때문에 Select 처럼 열을 지정해줄 필요가 없다.
    DELETE FROM삭제할 테이블을 지정
    WHERE삭제할 데이터를 필터링
  • 특정 행 삭제
    DELETE
    FROM students
    WHERE name = '이황';
  • 여러 행 삭제
    DELETE
    FROM students
    WHERE age BETWEEN 30 AND 33;
  • 모든 행 삭제
    DELETE
    FROM students;
6. 기타
  • ifnull : SQL에서만 사용가능
  • Rollback : 마지막 커밋 시점으로 초기화
    INSERT INTO students (name, age, address) VALUES
    ('이황', 28, '경상북도'),
    ('정약용', 29, '경기도'),
    ('김정호', 30, '전라북도'),
    ('박지원', 31, '전라북도'),
    ('김홍도', 32, '경기도'),
    ('신윤복', 33, '서울특별시'),
    ('김광균', 34, '서울특별시'),
    ('한용운', 35, '경상남도'),
    ('박두진', 36, '경기도');
    
    Commit;
    
    DELETE FROM students;
    
    Rollback;
    //Delete는 Rollback 되어 Insert문 결과가 보여진다.
    SELECT * FROM students;
  • Soft delete :
    • withdraw = 0
    • withdraw = 1
  • Hard delete
  • Soft Delete vs Hard Delete
  • where age between 1 and 2 : 1과 2사이의 나이

'Dev > ESTsoft 오르미' 카테고리의 다른 글

SQL과 데이터베이스  (0) 2024.02.23
스레드(Thread)  (0) 2024.02.23
스트림  (0) 2024.02.23
이팩티브 자바-인터페이스  (0) 2024.02.23
람다식  (0) 2024.02.23
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바