본문 바로가기
코딩/SQL

[SQL] 데이터 조작 언어 (select, insert, where, update, delete)

by 미생22 2023. 2. 16.
728x90

1. 실습할 데이터베이스로 이동

zerobase라는 데이터베이스를 사용해보자

USE zerobase;

 

2. 실습할 테이블 제작

person이라는 table을 생성한다.

CREATE TABLE person
(
    id int,
    name varchar(16),
    age int,
    sex CHAR
);

Query OK가 뜨면 잘 생성된 것. 확인은 필수다.

DESC person;

 

3. INSERT

insert 명령어는 자료형과 column 이름이 정해진 table에 데이터를 추가하는 명령어다.

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

이 때 주의할 점은 입력한 컬럼 이름의 순서와 값의 순서가 일치하도록 주의해야 한다는 점이다.

예를 들어, ID값이 1인 이효리, 43세, 여자(F) 데이터를 추가하려고 한다.

참고로 ;을 치지않으면 엔터를 쳐도 아무 문제가 없다.

INSERT INTO person (id, name, age, sex)
VALUE (1, '이효리', 43, 'F');

Query OK라고 뜨면 입력된 것이다.

table내 데이터가 확인하기 위해서 아래 코드를 쳐준다.

select * from person;

만약 모든 컬럼값을 추가하는 경우에는 다음과 같이 컬럼 이름을 지정하지 않아도 된다.

그러나 역시, 입력하는 값의 순서가 테이블의 컬럼 순서와 일치하도록 주의해준다.

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

예를 들어, ID값이 2인 이상순, 48세, 남자(M) 데이터를 추가하려고 한다.

INSERT INTO person
VALUES (2, '이상순', 48, 'M');

Query OK라고 뜨면 입력된 것이다. 이번에도 데이터를 확인해준다.

select * from person;

나중에 대용량으로 데이터를 넣을 때는 파일에서 가져와서 넣는 방법이 있다.

 

4. SELECT

테이블 내의 특정 칼럼에 대한 테이터를 조회한다.

SELECT column1, column2, ...
FROM tablename;

예제를 살펴보면, 위에서 만든 person table에서 id만 빼고 column을 뽑아보려고 한다.

SELECT name, age, sex FROM person;

만약 column을 지정하지않고 모든 column에 대한 데이터를 조회하고 싶은 경우,

SELECT * FROM tablename;

을 쓰면 된다. 이 구문은 상당히 많이 쓰일 예정이다.

 

5. WHERE

SQL문에 조건을 추가하며 SELECT 뿐만 아니라 UPDATE와 DELETE에도 사용할 수 있다.

table 내에서 조건을 만족하는 데이터를 조회하고 싶은 경우 아래 코드를 사용한다.

SELECT column1, column2, ...
FROM tablename
WHERE condition;

예제로, person table에서 여자만 뽑자면 아래와 같다.

SELECT * FROM person WHERE sex='F';

 

6. UPDATE

데이터를 수정하는 명령어는 UPDATE이다.

UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERE condition;

특정 조건인 컬럼의 데이터를 수정하는 방법이다.

이효리 나이를 23세로 수정해보자.

UPDATE person SET age=23 WHERE name='이효리';

where문을 안쓰면 이효리와 이상순의 나이가 모두 23으로 바뀌게 되므로 주의한다.

수정하면 꼭 다시한번 확인해준다. 이번엔 where절로 조건을 넣어 봐보자.

 

7. DELETE

데이터를 삭제하는 명령어는 DELETE이다.

DELETE FROM tablename
WHERE condition;

특정 조건인 데이터를 삭제하겠다라고 해야한다. 그렇지않으면 table의 전체 데이터를 삭제하게 된다.

예시는 아래와 같다.

DELETE FROM person WHERE name='이상순';

728x90

'코딩 > SQL' 카테고리의 다른 글

[SQL] 논리 연산자  (0) 2023.02.20
[SQL] Order by, 비교 연산자  (0) 2023.02.17
[SQL] Table 생성/변경/삭제  (0) 2023.02.16
[SQL] Database 정의 / User 관리  (0) 2023.02.15
MySQL 다운로드/설치  (0) 2023.02.14