실습환경 만들기
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;
예제
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 |
+------+--------+------+------+