데이터베이스 안에서 실제 데이터가 저장되는 형태이자 행 row과 열column로 구성된 데이터 모음이라고 할 수 있음.
<실습 환경 준비하기>
오늘은 특정한 언어를 지원해주도록 데이터베이스를 만드는 경우에 대해서 새롭게 알아보았다.
CREATE DATABASE notes DEFAULT CHARACTER SET utf8mb4;
utf8 = 다국어를 지원함
utf8mb4 = 다국어 + 이모지 문자까지 지원함
DB 지정해주기
USE dbname;
사용할 데이터베이스 지정해주기!!!
나는 블로그 기록 및 반복 연습을 위해 notes 라는 데이터베이스를 만들었음.
table 생성 시 기본 구조를 알아보자
CREATE TABLE tablename
(
col1 datatype,
col2 datatype,
col3 datatype
);
컬럼 지정할 때 데이터 타입을 함께 지정해주어야 한다.
<실습>
notes라는 DB에 fruitbox라는 테이블을
위와 같은 컬럼과 데이터 타입으로 만들어보겠음.
모든 테이블 목록 확인하기
SHOW TABLES;
테이블 구조 및 자세한 상세 정보 확인하기
- desc = description
DESC fruitbox;
💭 나는 fruitbox 이름이 조금 긴 것 같아서 fruits으로 바꿔주겠음.
ALTER TABLE fruitbox
RENAME fruits;
💭 fruitbox 과일의 가격을 나타내는 cost 컬럼을 추가해보겠음.
ALTER TABLE fruits
ADD COLUMN cost double;
💭 앗! 그런데 cost 컬럼의 데이터 타입을 실수로 double로 설정했으니 이를 int로 수정해주겠음.
ALTER TABLE fruits
MODIFY COLUMN cost int;
💭 이번에는 cost 컬럼을 price로 변경하고 데이터는 int로 한 번에 변경해주겠음.
ALTER TABLE fruits
CHANGE COLUMN cost price int;
💭 애써서 만든 price 컬럼을 삭제해보겠음.
ALTER TABLE fruits
DROP COLUMN price;
💭 fruits 테이블 전체를 삭제하려면 아래와 같이 DROP TABLE을 사용하면 된다.
DROP TABLE fruits;
💭 위에서 fruits 테이블을 삭제했으니 새롭게 생성하고 시작해야 함.
CREATE TABLE fruits
(
id int,
name varchar(16),
color varchar(16),
cost int
);
컬럼 이름과 벨류 값의 개수 일치 + 순서 주의!
💭 fruits 테이블에 과일과 다른 컬럼에 해당하는 값을 넣어보자.
1-1) 원하는 컬럼에 해당하는 값 추가하기
INSERT INTO fruits (name, color, cost)
VALUES ('apple', 'red', 1000);
1-2) 모든 컬럼에 해당하는 값 추가하기
INSERT INTO fruits
VALUES (1, 'apple', 'red', 1000),
(2, 'peach', 'pink', 2000),
(3, 'grape', 'purple', 1500),
(4, 'cherry', 'red', 1500);
✨ 눈으로 입력이 잘 되었는지 확인하기
SELECT * FROM fruits;
💭 fruits 테이블에서 select를 사용해서 원하는 컬럼을 조회해보자
2-1) 특정 컬럼만 조회
SELECT cost, name
FROM fruits;
2-2) 모든 컬럼 조회
SELECT * FROM fruits;
테이블 내에서
특정 조건에 만족하는 데이터 중에서 원하는 컬럼 데이터만 조회하기
SELECT name, color, cost
FROM fruits
WHERE color='red';
여러 개의 값을 한 번에 수정
💭 테이블에서 name 값이 apple에 해당하는 데이터 중에서 color 값을 green으로 그리고 cost 값을 1200으로 수정해보자.
UPDATE fruits
SET color='green', cost=1200
WHERE name='apple';
💭 fruits 테이블에서 cost가 1500이하인 데이터를 삭제해보자.
(복숭아만 남아야 함.
DELETE FROM fruits
WHERE cost<=1500;