SQL 기초 - SELCT, INSERT, UPDATE, DELETE

Yang HyunIl·2023년 2월 6일
0

SQL

목록 보기
3/14
post-thumbnail

실습환경 만들기

  • zerobase 사용 (이동)
USE zerobase;
use zerobase;
Database changed

실습 테이블 만들기

CREATE TABLE person
(
	id int,
    name varchar(16),
    age int,
    sex CHAR
);
mysql> create table person
    -> (
    ->  id int,
    ->  name varchar(16),
    ->  age int,
    ->  sex char
    ->  );
Query OK, 0 rows affected (0.01 sec)

실습할 테이블 정보 확인

DESC person;
mysql> desc person;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(16) | YES  |     | NULL    |       |
| age   | int         | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

●INSERT - 데이터 추가

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

예제

  • ID 값이 1인 이효리, 43세, 여자(F) 데이터 추가
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');
mysql> insert into person (id, name, age, sex)
    -> values (1, '이효리', 43, 'F');
Query OK, 1 row affected (0.01 sec)

mysql> select * from person;
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   43 | F    |
+------+--------+------+------+

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

  • 모든 컬럼값을 추가하는 경우 컬럼 이름을 지정하지 않아도 됨
INSERT INTO tablename
VALUES (value1, value2, ...);

예제

  • ID 값이 2인 이상순, 48세, 남자(M) 데이터 추가
INSERT INTO person
VALUES (2, '이상순', 48, 'M');
mysql> insert into person
    -> values (2, '이상순', 48, 'M');
Query OK, 1 row affected (0.00 sec)

mysql> select * from person;
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   43 | F    |
|    2 | 이상순 |   48 | M    |
+------+--------+------+------+

●SELECT - 데이터 조회

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

예제

  • person 테이블 내의 이름, 나이, 성별 데이터를 조회
SELECT name, age, sex FROM person;
mysql> select name, age, sex from person;
+--------+------+------+
| name   | age  | sex  |
+--------+------+------+
| 이효리 |   43 | F    |
| 이상순 |   48 | M    |
+--------+------+------+

SELECT 문법 - 모든 컬럼

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

예제

  • person 테이블 내의 모든 컬럼에 대한 데이터 조회
SELECT *
FROM person;
mysql> select * from person;
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   43 | F    |
|    2 | 이상순 |   48 | M    |
+------+--------+------+------+

●WHERE - 조건

  • SQL 문에 조건을 추가하며 SELECT 뿐만 아니라 UPDATE와 DELETE에도 사용

WHERE 문법 - SELECT

  • 테이블 내에서 조건을 만족하는 데이터 조회
SELECT column1, column2, ...
FROM tablename
WHERE condition;

예제

  • person 테이블에서 성별이 여자인 데이터 조회
SELECT * FROM person WHERE sex='F';
mysql> select * from person where sex='F';
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   43 | F    |
+------+--------+------+------+

●UPDATE - 데이터 수정

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

예제

  • 이효리 나이를 23세로 수정
UPDATE person SET age=23 WHERE name='이효리';
mysql> update person set age=23 where name='이효리';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from person;
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   23 | F    |
|    2 | 이상순 |   48 | M    |
+------+--------+------+------+

●DELETE - 데이터 삭제

DELETE 문법

DELETE FROM tablename
WHERE condition;

예제

  • 이상순 데이터 삭제
DELETE FROM person WHERE name='이상순';
mysql> delete from person where name = '이상순';
Query OK, 1 row affected (0.00 sec)

mysql> select * from person;
+------+--------+------+------+
| id   | name   | age  | sex  |
+------+--------+------+------+
|    1 | 이효리 |   23 | F    |
+------+--------+------+------+
profile
ヾ(•ω•`)o

0개의 댓글