관계형 db에서는 열의 순서는 중요하지 않다.
관계형 db에서는 행의 순서는 중요하지 않다.
기본키 무결성(개체 무결성)
중복되어서도 안되고, 비어 있어도 안됨(Null x)
외래키 무결성(참조 무결성)
/*[작업 순서]
1. 데이터베이스를 생성
2. 테이블 생성
3. 테이블 입력
4.
5.
6. 2개의 테이블 연결
*/
-- [작업1] 데이터베이스를 생성하고 db로 이동
-- 아래의 2명령어를 범위지정하여 ctrl + f9한 뒤
-- 좌측의 localhost에서 마우스 우측 클릭하여 새로고침 F5
CREATE DATABASE sales_db;
USE sales_db;
-- [작업2] 작업2영역 범위 지정하기
-- FIRST_HALF : (상반기 아이스크림 판매 정보)데이터베이스 제작
CREATE TABLE FIRST_HALF(
SHIPMENT_ID INT NOT NULL,
FLAVOR VARCHAR(50) NOT NULL,
TOTAL_ORDER INT NOT NULL,
PRIMARY KEY(FLAVOR)
)
-- [작업3] 테이블에 자료 입력
SELECT * FROM first_half
-- 아래 명령어를 실해앟여 데이터를 입력하고 실행한 데이터를 확인
INSERT INTO FIRST_HALF (SHIPMENT_ID, FLAVOR, TOTAL_ORDER)
VALUES
(101,'chocolate', 3200),
(102,'vanilla', 2800),
(103, 'mint_chocolate', 2800),
(104, 'peach', 3500);
-- [작업4] 데이터셋 확인
SELECT * FROM first_half
-- [작업 5]
CREATE TABLE ICECREAM_INFO(
FLAVOR VARCHAR(50) NOT NULL,
INGREDIENT_TYPE VARCHAR(50) NOT NULL,
PRIMARY KEY(FLAVOR)
);
INSERT INTO ICECREAM_INFO(FLAVOR, INGREDIENT_TYPE)
VALUES
('caramel', 'sugar_based'),
('chocolate','sugar_based'),
('vanilla', 'fruit_based'),
('peach', 'fruit_based'),
('mint_chocolate', 'fruit_based');
SELECT * FROM icecream_info
-- 2개의 테이블 한번에 가져오기
SELECT A.*,
B.INGREDIENT_TYPE
FROM first_half AS A,
icecream_info AS B
WHERE A.FLAVOR = B.FLAVOR
AND a.TOTAL_ORDER>3000;
ORDER BY TOTAL_ORDER DESC;
SELECT * FROM first_half
SELECT * FROM icecream_info
SELECT [ALL|DISTINCT]
필드명, 필드명
USE sales_db;
SELECT * FROM first_half;
SELECT * FROM first_half LIMIT 2;
SELECT * FROM first_half LIMIT 2,4;
-- 2번째 ~ 4번째 보여줌!
SELECT * FROM first_half;
-- 3개를 보여줌, 2번 이후부터!
SELECT * FROM first_half LIMIT 3 OFFSET 2;
-- SELECT * FROM sales_db.icecream_info
SELECT ALL * FROM sales_db.icecream_info
SELECT ALL ingredient_type FROM sales_db.icecream_info
SELECT DISTINCT
ingredient_type
FROM sales_db.icecream_info;
SELECT DISTINCT
COUNT(*) AS 건수
FROM sales_db.icecream_info;
SELECT *
FROM first_half
ORDER BY shipment_id DESC,
total_order asc;
-- 관계연산자 --
SELECT * FROM(
SELECT * FROM first_half
WHERE Flavor LIKE '%a%'
AND total_order>=3000) AS a;
https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_where
→ sql 연습!