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 구문은 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는 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는 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 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)