본문 바로가기
DBMS

3. MySQL - DML(INSERT, UPDATE, DELETE, SELECT)

by suehyune12 2022. 2. 22.

0. DML 

DML은 Data Manipulation Language , 데이터 조작 언어입니다.

DML의 언어종류는 총 4가지 입니다.

  1. INSERT : 레코드 생성
  2. UPDATE : 레코드 수정
  3. DELETE : 레코드 삭제
  4. SELECT : 레코드 조회
  • INSERT, UPDATE, DELETE 의 결과는 ‘정수’ 다
  • SELECT 결과는 table 형태( result set, record set ) 이다.

 


 

  • phonebook 테이블 생성

 

phonebook 생성

 


 

1.  INSERT : 레코드 생성

 

레코드 생성

 

 

특정 칼럼만 지정하는 방법

 

email은 없고, regdate 현재시간 생성

 

 

 

  • ID 없이 생성되어도,  AUTO-INCREMENT로 인해 ID 5로 나온다.

 

 

 

  •  NAME은 NULL을 허용하지 않아 Field 'name' doesn't have a default value라는 오류 문구가 나온다.

 

 

 


 

 

2.  UPDATE : 레코드 수정

 

UPDATE [테이블이름] SET [컬럼이름] = [데이터],  ...  WHERE [조건식];

WHERE을 쓰지 않는다면 모든 칼럼에 수정

 

 

  • id 4에 있는 이름인 jhon을 jesse로 수정한다.

 

이름 수정

 

 

  • id 4의 이메일인 jjj@email.com이 jesse@naver.com으로 수정되고, 폰번호도 052)333- 4555 로 수정된다

 

이메일 수정

 

  • 10인 id 값이 없어도 오류가 나지는 않는다. 다만 0 rows affected(어떠한 행도 매칭되는것이 없다).

 

없는 id 생성 불가

 

  • id가 3이하인 1, 2, 3번에 각각 10을 더해 레코드 수정한다. (PRIMARY KEY로 인해 순차적으로 나온다.)

 

id 11, 12, 13 생성

 

  • null인 email에 'test@email.com'을 수정하고 싶다면, is null을 사용하여 수정한다.

 

수정 문구 오류

 

is null로 사용하여 수정

 


 

3. DELETE : 레코드 삭제

 

DELETE FROM [테이블 이름] WHERE [조건식];

 WHERE 조건식이 없을 경우, 테이블의 모든 레코드 데이터가 삭제됨

 

 

  • id가 25보다 큰 레코드를 삭제한다

 

id가 25인 홍길동 레코드 삭제

 


 

4. SELECT : 레코드 조회

 

SELECT [컬럼명 또는 표현식] FROM [테이블명, 뷰명] ;

 

 

  • 모든 컬럼 조회

SELECT * FROM t_professor;

 

교수님 칼럼 조회

 

 

 

  • 원하는 컬럼만 조회

SELECT name, position, pay  FROM t_professor ;

 

교수님의 이름, 직위, 월급

 

  • 컬럼 별칭(alias) 사용하여 출력

 

SELECT position 직위, pay 급여, name 이름 FROM t_professor;

별칭 이름, 직위, 급여 붙여 출력

 

  별칭을 붙일때 띄어쓰는 단어를 쓰면 안된다. 만약 쓰고싶다면 " " 붙여 출력한다.

 

SELECT studno "학생 학번", name AS 이름, grade  FROM t_student;

" " 와 AS 사용

 

'DBMS' 카테고리의 다른 글

5. MySQL : DISTINCT, CONCAT, WHERE  (0) 2022.02.23
4. DBeaver 설치  (0) 2022.02.22
2. My SQL - DDL 기초  (0) 2022.02.19
1. DBMS의 기본  (0) 2022.02.19
0. DBMS 정의 및 설치  (0) 2022.02.19