[Aws cloud school 24일차]MariaDB 실습01

miniPig·2024년 6월 17일

AWS cloud school

목록 보기
7/31
  • 관계형 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 연습!

0개의 댓글