DML_SELECT, INSERT, UPDATE, DELETE

Jane의 study note.·2022년 12월 2일
0

MySQL

목록 보기
4/17

DML이란?

실습환경 만들기

  1. zerobase 사용 (이동)
USE zerobase;
  1. 실습할테이블만들기
person 테이블생성 (컬럼정보는코드참고)
CREATE TABLE person
(
    id int,
    name varchar(16),
    age int,
    sex CHAR
);
  1. 실습할테이블정보확인
DESC person;

1. INSERT - 데이터추가

1. INSERT 문법 : 데이터를 추가하는 명령어

데이터: 데이터 타입으로 생각하면 편함

입력한컬럼이름의순서와값의순서가일치하도록주의
INSERT INTO tablename (column1, column2, ...)
VALUES (values1, value2, ...);

ID 값이 1인이효리, 43, 여자(F) 데이터추가
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');
select * from person;

2. INSERT 문법 - 모든컬럼값을추가하는경우

모든컬럼값을추가하는경우에는다음과같이컬럼이름을지정하지않아도되지만,
입력하는값의순서가테이블의컬럼순서와일치하도록주의

INSERT INTO tablename
VALUES (values1, value2, ...);

ID 값이 2인이상순, 48, 남자(M) 데이터추가
INSERT INTO person 
VALUES (2, '이상순', 48, 'M');
select * from person;
예제
<문제풀이를 위한 실습환경 구축>
use testdb;
CREATE TABLE person(id int, name varchar(16), age int, sex CHAR);
show tables;
desc person;

- person 테이블에다음의데이터를추가하고확인하세요.
insert into person (id, name, age, sex)
values (1, '리오넬 메시', 33, 'M');

insert into person(id, name, age, sex)
values (2, '손흥민', 25, 'M');

insert into person
values (3, '케인', '35', 'F');

select * from person;

2. SELECT - 데이터조회

show databases;
use zerobase;

1.SELECT 문법 - 특정컬럼

테이블내의특정칼럼에대한데이터를조회
SELECT column1, column2, ...
FROM tablename;

person 테이블내의이름, 나이, 성별데이터를조회
SELECT name, age, sex FROM person;

2. SELECT 문법 - 모든컬럼

테이블내의모든컬럼에대한데이터를조회
SELECT *
FROM tablename;

person 테이블내의모든컬럼에대한데이터를조회
SELECT *
FROM person;

## 3. WHERE - 조건
=> SQL 문에조건을추가하며 SELECT 뿐만아니라 UPDATEDELETE 에도사용

1. WHERE 문법 - SELECT

테이블내에서조건을만족하는데이터조회
SELECT column1, column2, ...
FROM tablename
WHERE condition;
person 테이블에서성별이여자인데이터조회
SELECT * FROM person WHERE sex='F';   

예제
- person 테이블에나이가 50세인데이터를조회하세요.
- person 테이블에서성별이여자인데이터를조회하세요.
- person 테이블에서 성별이여자인 데이터를 이름과 나이만 나오도록 조회하세요.

<문제풀이를 위한 실습환경 구축>
- 제로베이스 데이터베이스에서 실습
insert into person
values (3, '유재석', 50, 'M');
 
insert into person
values(4, '이미주', '28', 'F');
select * from person;

- person 테이블에나이가 50세인데이터를조회하세요.
select * from person where age=50;

- person 테이블에서성별이여자인데이터를조회하세요.
select * from person where sex='F';

- person 테이블에서 성별이여자인 데이터를 이름과 나이만 나오도록 조회하세요.
select name, age from person where sex='F';

4. UPDATE - 데이터수정

  1. UPDATE 문법
    UPDATE 데이터를수정하는명령어
UPDATE tablename
SET column1 = value1, column2 = value2, ... #바꿀 컬럼과 값
WHERE condition;

이효리나이를 23세로수정
UPDATE person 
SET age=23 
WHERE name='이효리';

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

※ 여기서 where절을 붙이지 않으면 모든 데이터의 age가 23이됨

select * from person where name='이효리';

5. DELETE - 데이터삭제

  1. DELETE 문법
DELETE FROM tablename
WHERE condition;

이상순데이터삭제
DELETE FROM person WHERE name='이상순';

※ 여기서도 역시 where절을 붙이지 않으면 모든 데이터가 삭제됨
select * from person where name='이상순';
  • person 테이블에서유재석의성별을여성(F)로수정하고확인하세요.
  • person 테이블에서 ID가 2번인데이터의이름을이미주로수정하고확인하세요.
  • person 테이블에서 나이가 28인 데이터를삭제하고확인하세요.
    (- person 테이블에서성별이여자인데이터를삭제하고확인하세요.)
  • animal 테이블의모든데이터를삭제하고확인하세요.
  • person 테이블을삭제하고확인하세요.

<문제풀이를 위한 실습환경 구축>
select * from person;

- person 테이블에서유재석의성별을여성(F)로수정하고확인하세요.
update person set sex='F' where name='유재석';
select * from person where name ='유재석';

- person 테이블에서 ID가 2번인데이터의이름을이미주로수정하고확인하세요.
update person set ID=2 where name='이미주';
select * from person where name='이미주';
select * from person;

- person 테이블에서 나이가 28인 데이터를삭제하고확인하세요.
delete from person where age=28;
select * from person;

(- person 테이블에서성별이여자인데이터를삭제하고확인하세요.)
delete from person where sex='F';
select * from person where sex='F';

- animal 테이블의모든데이터를삭제하고확인하세요.
delete from animal;
select * from animal;

- person 테이블을삭제하고확인하세요.
delete from person; => 이렇게 하면 안의 데이터만 삭제되고 테이블 자체는 존재함
select * from person; =>Empty set (0.00 sec)
show tables; => animal, person 모두 존재함

drop table person;
show tables; => animal 테이블만 존재함

0개의 댓글