반응형
먼저 사용할 테이블은 이러합니다.
CREATE TABLE myhero (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
class INT NOT NULL,
intelligence INT,
strength INT,
speed INT,
durability INT,
power INT,
tier CHAR(5),
PRIMARY KEY(id));
데이터 삽입
INSERT INTO mytable(column1, column2)
VALUES (value1_1, value1_2), (value2_1, value2_2), (value3_1, value3_2)
위에서 만든 테이블에 캐릭터들을 넣어줄게요?
INSERT INTO myhero (name, class, intelligence, strength, speed, durability, power, tier) VALUES
('Izuku', 773, 80, 75, 50, 35, 50, '1++'),
('All Might', 7800, 70, 100, 50, 40, 7, '3'),
('Toga', 91, 55, 25, 30, 15, 50, '0+'),
('Kirishima', 50, 55, 25, 25, 30, 35, '0+'),
('Bakugo', 199, 55, 50, 50, 25, 40, '1++'),
('Todoroki', 206, 75, 25, 25, 40, 70, '0+'),
('Asui', 71, 60, 25, 25, 14, 45, '0+'),
('Shigaraki', 14000, 75, 100, 75, 45, 75, '3'),
('Koda', 20, 55, 20, 5, 10, 30, '0+'),
('Nezu', 50, 90, 1, 5, 10, 50, '0+'),
('Endeavor', 1300, 65, 90, 35, 35, 45, '1++'),
('Hado', 374, 55, 80, 30, 15, 50, '0+');
데이터 읽기
위에서 넣은 데이터들이 잘 들어갔는지 확인해보겠습니다.
SELECT * FROM myhero;
뭔가 귀엽다.. 수기로 만든 히어로도감...
AS
: 별명 지정
SELECT name, strength+speed AS attack FROM myhero;
LIMIT
: 특정 행까지만 가져오고 싶을 때
SELECT id, name, power FROM myhero LIMIT 5;
이렇게 하면 파이썬의 head()
와 같은 역할을 하고, 실제로 이 기능을 위해 많이 쓴다고 합니다.
WHERE
: 조건에 맞는 데이터 가져오기
SELECT name, class FROM myhero WHERE tier != '1++'; -- tier 값이 '1++'이 아닌 행들
SELECT name, power FROM myhero WHERE (strength > 50) AND (durability > 50);
LIKE
: _는 임의의 문자 정확히 하나, %는 0개 이상의 임의의 문자열
IN
: 특정 값들 안에 포함되어 있는지 / BETWEEN
: 특정 값 사이에 있는지
SELECT * FROM myhero WHERE name like '%o%'; -- 중간에 'o'가 있는 값
SELECT * FROM myhero WHERE name like 'I_%'; -- I로 시작하는 2글자 이상의 값
SELECT name, tier FROM myhero WHERE type in ('1++', '0++');
SELECT name, power FROM myhero WHERE power BETWEEN 40 AND 60;
COUNT
: 개수 세기 / DISTINCT
: 중복된 값 출력하지 않음
SELECT COUNT(*) FROM myhero WHERE class >= 100; -- class 값이 100 이상인 행들의 개수
SELECT COUNT(DISTINCT tier) FROM myhero; -- 고유한 tier의 개수 확인
데이터 수정
UPDATE myhero SET name = 'OneForAll' WHERE id = 2;
데이터 삭제
DELETE FROM myhero WHERE id = 4;
반응형
'Database > MySQL' 카테고리의 다른 글
[MySQL] 조건문 - IF / IFNULL / CASE~WHEN (0) | 2024.10.10 |
---|---|
[MySQL] 데이터 그룹화 - GROUP BY / HAVING (0) | 2024.10.10 |
[MySQL] 문자열 함수 / 숫자 함수 / 날짜, 시간 함수 (0) | 2024.10.10 |
[MySQL] 데이터 정렬 & 순위 매기기 - ORDER BY / RANK() / DENSE_RANK() / ROW_NUMBER() (0) | 2024.10.10 |
[MySQL] MySQL 시작하기 - 데이터베이스, 테이블 생성 / 삭제 / 변경 (0) | 2024.10.08 |