📟 Database

    [MySQL] 9. GUI 환경에서 테이블 생성하기, SQL로 테이블 만들기

    SQL문을 이용하여 테이블 만들고 데이터 추가하기 CREATE DATABASE naver_db; USE naver_db; CREATE TABLE member ( mem_id CHAR(8) NOT NULL PRIMARY KEY, -- 기본키 지정 mem_name VARCHAR(10) NOT NULL, mem_number TINYINT NOT NULL, addr CHAR(2) NOT NULL, phone1 CHAR(3) NULL, phone2 CHAR(8) NULL, height TINYINT UNSIGNED NULL, debut_date DATE NULL ); CREATE TABLE buy ( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- 기본키 지정 mem_id C..

    [MySQL] 8. SQL 프로그래밍(IF문, CASE문, WHILE문, 동적SQL)

    [MySQL] 8. SQL 프로그래밍(IF문, CASE문, WHILE문, 동적SQL)

    스토어드 프로시저는 MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개체이다. SQL 프로그래밍은 기본적으로 스토어드 프로시저 안에 만들어야 한다. 스토어드 프로시저는 다음과 같은 형식을 갖는다. DELIMITER $$ CREATE PROCEDURE BEGIN END $$ DELIMITER ; CALL (); IF 문은 조건식이 참이라면 'SQL 문장들'을 실행하고, 그렇지 않으면 그냥 넘어간다. 기본 IF 문의 형식은 다음과 같다. IF THEN SQL문장들 END IF; 여기서 'SQL 문장들'이 한 문장이라면 그 문장만 써도 되지만, 두 문장 이상이 처리되어야 할 때에는 다음과 같이 BEGIN ~ END로 묶어주어야 한다. BEGIN IF THEN SQL문장들 END IF; END ..

    [MySQL] 7. 두 테이블을 묶는 JOIN(INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN)

    [MySQL] 7. 두 테이블을 묶는 JOIN(INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN)

    JOIN이란 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. 두 테이블을 연결할 때 가장 많이 사용되는 것이 내부 조인이다. 일반적으로 그냥 조인이라 부르면 내부 조인을 의미한다. 두 테이블을 조인하기 위해서는 테이블이 일대다(one to many) 관계로 연결되어 있어야 한다. 일대다 관계란 한쪽 테이블에는 하나의 값만 존재해야 하지만, 연결된 다른 테이블에는 여러 개의 값이 존재할 수 있는 관계를 말한다. 일대다 관계는 주로 기본 키(PK)와 외래 키(FK)의 관계로 맺어져 있기 때문에 'PK-FK 관계'라고 부르기도 한다. USE market_db; SELECT * FROM buy INNER JOIN member ON buy.mem_id = member.mem_id WHERE..

    [MySQL] 6. MySQL의 데이터 형식(정수형, 문자형, 실수형, 날짜형)과 형 변환

    [MySQL] 6. MySQL의 데이터 형식(정수형, 문자형, 실수형, 날짜형)과 형 변환

    정수형은 소수점이 없는 숫자, 즉 인원 수, 가격, 수량 등에 많이 사용된다. 정수형의 크기와 범위는 다음과 같다. 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768 ~ 32,767 INT 4 약 -21억 ~ + 21억 BIGINT 8 약 -900경 ~ +900경 아래와 같이 했을 때 첫 번째로 넣은 데이터의 경우 정상적으로 데이터가 삽입되며 두 번째 데이터의 경우 오류가 발생한다. CREATE TABLE hongong4 ( tinyint_col TINYINT, smallint_col SMALLINT, int_col INT, bigint_col BIGINT ); INSERT INTO hongong4 VALUES (127, 32767, 21474836..