USE zerobase;
person 테이블생성 (컬럼정보는코드참고)
CREATE TABLE person
(
id int,
name varchar(16),
age int,
sex CHAR
);
DESC person;
데이터: 데이터 타입으로 생각하면 편함
입력한컬럼이름의순서와값의순서가일치하도록주의
INSERT INTO tablename (column1, column2, ...)
VALUES (values1, value2, ...);
ID 값이 1인이효리, 43세, 여자(F) 데이터추가
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');
select * from person;
모든컬럼값을추가하는경우에는다음과같이컬럼이름을지정하지않아도되지만,
입력하는값의순서가테이블의컬럼순서와일치하도록주의
INSERT INTO tablename
VALUES (values1, value2, ...);
ID 값이 2인이상순, 48세, 남자(M) 데이터추가
INSERT INTO person
VALUES (2, '이상순', 48, 'M');
select * from person;
예제
<문제풀이를 위한 실습환경 구축>
use testdb;
CREATE TABLE person(id int, name varchar(16), age int, sex CHAR);
show tables;
desc person;
- person 테이블에다음의데이터를추가하고확인하세요.
insert into person (id, name, age, sex)
values (1, '리오넬 메시', 33, 'M');
insert into person(id, name, age, sex)
values (2, '손흥민', 25, 'M');
insert into person
values (3, '케인', '35', 'F');
select * from person;
show databases;
use zerobase;
테이블내의특정칼럼에대한데이터를조회
SELECT column1, column2, ...
FROM tablename;
person 테이블내의이름, 나이, 성별데이터를조회
SELECT name, age, sex FROM person;
테이블내의모든컬럼에대한데이터를조회
SELECT *
FROM tablename;
person 테이블내의모든컬럼에대한데이터를조회
SELECT *
FROM person;
## 3. WHERE - 조건
=> SQL 문에조건을추가하며 SELECT 뿐만아니라 UPDATE 와 DELETE 에도사용
테이블내에서조건을만족하는데이터조회
SELECT column1, column2, ...
FROM tablename
WHERE condition;
person 테이블에서성별이여자인데이터조회
SELECT * FROM person WHERE sex='F';
예제
- person 테이블에나이가 50세인데이터를조회하세요.
- person 테이블에서성별이여자인데이터를조회하세요.
- person 테이블에서 성별이여자인 데이터를 이름과 나이만 나오도록 조회하세요.
<문제풀이를 위한 실습환경 구축>
- 제로베이스 데이터베이스에서 실습
insert into person
values (3, '유재석', 50, 'M');
insert into person
values(4, '이미주', '28', 'F');
select * from person;
- person 테이블에나이가 50세인데이터를조회하세요.
select * from person where age=50;
- person 테이블에서성별이여자인데이터를조회하세요.
select * from person where sex='F';
- person 테이블에서 성별이여자인 데이터를 이름과 나이만 나오도록 조회하세요.
select name, age from person where sex='F';
UPDATE tablename
SET column1 = value1, column2 = value2, ... #바꿀 컬럼과 값
WHERE condition;
이효리나이를 23세로수정
UPDATE person
SET age=23
WHERE name='이효리';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
※ 여기서 where절을 붙이지 않으면 모든 데이터의 age가 23이됨
select * from person where name='이효리';
DELETE FROM tablename
WHERE condition;
이상순데이터삭제
DELETE FROM person WHERE name='이상순';
※ 여기서도 역시 where절을 붙이지 않으면 모든 데이터가 삭제됨
select * from person where name='이상순';
<문제풀이를 위한 실습환경 구축>
select * from person;
- person 테이블에서유재석의성별을여성(F)로수정하고확인하세요.
update person set sex='F' where name='유재석';
select * from person where name ='유재석';
- person 테이블에서 ID가 2번인데이터의이름을이미주로수정하고확인하세요.
update person set ID=2 where name='이미주';
select * from person where name='이미주';
select * from person;
- person 테이블에서 나이가 28인 데이터를삭제하고확인하세요.
delete from person where age=28;
select * from person;
(- person 테이블에서성별이여자인데이터를삭제하고확인하세요.)
delete from person where sex='F';
select * from person where sex='F';
- animal 테이블의모든데이터를삭제하고확인하세요.
delete from animal;
select * from animal;
- person 테이블을삭제하고확인하세요.
delete from person; => 이렇게 하면 안의 데이터만 삭제되고 테이블 자체는 존재함
select * from person; =>Empty set (0.00 sec)
show tables; => animal, person 모두 존재함
drop table person;
show tables; => animal 테이블만 존재함