1. 용어정리
- 데이터베이스 : 여러 테이블을 포함하는 큰 개념 ex)식탁
- 테이블 : 데이터가 행과 열로 구성되어 저장. 행은 하나의 데이터 레코드를 , 열은 데이터의 속성을 나타냄.
2. SQL 기본 명령어
- 2.1 데이터베이스를 생성하기
CREATE DATABASE 데이터베이스의 이름;
- 2.2 테이블을 생성하기
CREATE TABLE ingredients
(
id INT,
name VARCHAR(20),
price INT,
amount INT
);
//이때 INT 는 인트 즉 숫자값을 뜻하며, VARCHAR(n)은 n칸만큼 문자열을 받아드린다는 것이다.
//int 는 컬럼 INT는 데이터타입 이다.
- 2.3 데이터 조회하기
SELECT는 테이블에서 데이터를 조회할 때 사용
SELECT name, price FROM ingredients;
//ingredients 테이블에서 name과 price 데이터를 조회
WHERE은 특정 조건에 맞는 데이터를 조회할 때 사용
SELECT name, price FROM ingredients WHERE price > 100;
//ingridents 테이블에서 가격이값이 100이 넘는 재료의 이름과 가격을 조회
ORDER BY는 조회한 데이터를 정렬 할 때 사용
SELECT name, amount FROM ingredients ORDER BY amount DESC;
//ingredients 테이블에서 이름과 수량을 조회하되, 수량을 기준으로 내림차순 으로 정렬
//숫자가 많은 순서대로 정렬
SELECT name, amount FROM ingredients ORDER BY amoung ASC;
//ingredients 테이블에서 이름과 수량을 조회하되, 수량을 기준으로 올림차순 으로 정렬
//숫자가 적은 순서대로 정렬
LIMIT은 조회할 데이터릐 개수를 제한 할 때 사용
SELECT name, price FROM ingredients LIMIT 5;
//ingredients 테이블에서 이름과 가격을 조회하되, 최대 5개의 행만 조회
- 2.4 데이터 삽입하기
INSERT INTO는 테이블에 새로운 데이터를 추가할 때 사용
INSERT INTO ingredients (name, price, amount) VALUES ('carrot', 50, 100);
- 2.5 데이터 수정하기
UPDATE는 기존의 데이터를 수정할 때 사용
UPDATE ingredients SET amount = 30 WHERE name = 'carrot';
- 2.6 데이터 삭제하기
DELETE FROM은 테이블에서 데이터를 삭제할 때 사용
DELETE FROM ingredients WHERE amount = 0;
3. 기본 키와 외래 키
- 기본 키 : Primary key 라고도 하며, 고유하게 식별하는 열(또는 열의 조합).
- 외래 키 : Foreign key 라고도 하며, 다른 테이블의 키를 참조하며, 테이블 간의 관계를 나타냄
CREATE TABLE orders
(
order_id INT PRIMARY KEY,
ingredients_id INT,
FOREIGN KEY (ingredients_id) REFERENCES ingredients(id)
);
//order_id 는 숫자형 데이터들을 저장하는 열로, PRIMARY KEY로 지정이 되면 고유하게 식별함.
//ingredients_id 는 숫자형 데이터들을 저장하는 열로, FOREIGN KEY로 지정이 되면
//ingredients 테이블에서 id를 참조하며, orders 테이블의 주문이 어떤 재료와 관련되어 있는지 나타냄
4. 집계 함수
COUNT() 은 행의 갯수를 센다.
SELECT COUNT(*) FROM ingredients;
SUM() 은 숫자 값의 합을 계산한다.
SELECT SUM(price) FROM orders;
AVG() 는 숫자 값의 평균을 계산한다.
SELECT AVG(amount) FROM ingredients;
MAX() 는 숫자 값의 최대치를 찾는다.
SELECT MAX(price) FROM ingredients;
MIN() 은 숫자 값의 최저치를 찾는다.
SELECT MIN(amount) FROM ingredients;
5. SQL 조건문
AND 는 두 조건이 참일 때 사용
SELECT * FROM ingredients WHERE amount > 100 AND price > 50;
OR 은 두 조건중 하나만 참일 때 사용
SELECT * FROM ingredients WHERE amount < 5 OR price < 5;
NOT 은 조건이 거짓 일 때 사용
SELECT * FROM ingredients WHERE NOT name = 'spring';