[MySQL] SELECT, WHERE, UPDATE, DELETE

Bpius·2023년 11월 11일
0

MySQL

목록 보기
3/15
post-thumbnail

person이란 table 데이터로 확인해보자.

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    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

위의 person table에는 2명의 데이터가 입력되어 있다.

SELECT

select 구문은 table 데이터를 조회하는 구문이다.
기본 조회 방법은 아래와 같다.

select * from table_name;

'*'은 모든 컬럼을 조회

mysql> select * from person;
+------+---------+------+------+
| id   | name    | age  | sex  |
+------+---------+------+------+
|    1 | marry   |   20 | F    |
|    2 | charles |   30 | M    |
+------+---------+------+------+
2 rows in set (0.00 sec)

select column1, column2.. from table_name;

위와 같이 모든 데이터가 아닌, 이름과 나이만 조회해보자.

mysql> select name, age from person;
+---------+------+
| name    | age  |
+---------+------+
| marry   |   20 |
| charles |   30 |
+---------+------+
2 rows in set (0.00 sec)

WHERE

where는 SQL문에 조건을 추가하는 구문이다.

select column1... from table_name where condition;

person에서 조회할 때 '여성'인 조건을 만족하는 데이터만 불러와보자.

mysql> select *
    -> from person
    -> where sex='F';
+------+-------+------+------+
| id   | name  | age  | sex  |
+------+-------+------+------+
|    1 | marry |   20 | F    |
+------+-------+------+------+
1 row in set (0.00 sec)

UPDATE

update는 table 데이터를 '수정'할 때 사용이 된다.

update table_name set column1=value1... where condition;

'marry'의 나이는 22세인데 20세로 잘못 입력이 되었다.
20세에서 22세로 나이를 바꿔보자.

mysql> update person # 수정할 table 데이터 이름
    -> set age=23 # set 다음 : 수정할 컬럼과 내용 입력
    -> where name='marry'; # 'marry'라는 이름만(where 구문이 없으면 모든 나이가 23세로 바뀐다.)
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

수정이 잘 이루어졌는지 확인해보자.

mysql> select * from person;
+------+---------+------+------+
| id   | name    | age  | sex  |
+------+---------+------+------+
|    1 | marry   |   23 | F    |
|    2 | charles |   30 | M    |
+------+---------+------+------+
2 rows in set (0.00 sec)

DELETE

데이터를 삭제할 때 사용이 된다.

delete from table_name where condition;

'marry'라는 데이터를 삭제해보자.

mysql> delete from person where name='marry';
Query OK, 1 row affected (0.00 sec)

삭제가 이루어졌는지 확인해보자.

mysql> select * from person;
+------+---------+------+------+
| id   | name    | age  | sex  |
+------+---------+------+------+
|    2 | charles |   30 | M    |
+------+---------+------+------+
1 row in set (0.00 sec)
profile
데이터 굽는 타자기

0개의 댓글