본문 바로가기

MySQL8

View View ㅡ DB에 존재하는 일종의 가상 테이블 / 실제 테이블 처럼 행과 열을 가지고 있으나 실제 데이터를 저장하진 않는다. ㅡ MySQL에선 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만 수행 / 여러 테이블이나 뷰를 하나의 테이블처럼 볼 수 있다. ㅡ 미리 선언된 쿼리를 사용해서 가상의 테이블을 만들어서 보여주는 것 장점 ㅡ 특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여줌 ㅡ 복잡한 쿼리를 단순화 ㅡ 쿼리 재사용 단점 ㅡ 한 번 정의된 뷰는 변경 X ㅡ 삽입, 삭제, 갱신 등 작업에 많은 제한 사항 ㅡ 자신만의 인덱스를 가질 수 없음 CREATE VIEW 뷰이름 AS SELECT 필드이름1, 필드이름2, ... FROM 테이블이름 WHERE 조건 CREATE VIEW R.. 2023. 1. 25.
JOIN JOIN ㅡ JOIN은 DB내 여러 테이블의 데이터를 조합하여 하나의 테이블처럼 표현해준다. * SELECT문과 함께 주로 사용됨 1. INNER JOIN ON절과 함께 사용되며 ON절의 조건에 부합하는 데이터만 가져온다. SELECT * FROM Reservation3 INNER JOIN Room ON Reservation3.roomNumber = Room.roomNumber; 두 테이블의 roomNumber 값이 같은 데이터 출력 SELECT * FROM Reservation3, Room WHERE Reservation3.roomNumber = Room.roomNumber; MySQL에선 INNER JOIN 대신 ,(쉼표) ON 대신 WHERE도 사용 가능 ★ 두 테이블을 사용하다보니 헷갈리는 부분이.. 2023. 1. 25.
Primary Key,(기본 키) Foreign Key(참조 키, 외래 키) Primary Key [ 기본 키 ] ㅡ 필드에 PRIMARY KEY를 적어주면 해당 필드는 NOT NULL과 UNIQUE 특성을 가지기에 NULL값을 가질 수 없고 유일한 값을 가지게 된다. ㅡ UNIQUE는 한 테이블 여러 필드에 설정할 수 있지만 PRIMARY KEY는 테이블 당 오직 하나의 필드에만 설정 할 수 있다. CREATE TABLE 테이블이름( 필드이름 필드타입 PRIMARY KEY ); CREATE TABLE Board( boardNumber PRIMARY KEY, boardTitle VARCHAR(200) NOT NULL ); Foreign Key [ 참조 키, 외래 키 ] ㅡ 필드에 FOREIGN KEY를 설정해주면 해당 필드는 한 테이블과 다른 테이블을 연결해주는 역할을 하게 된다.. 2023. 1. 24.
MySQL 연산 산술 연산자 사칙 연산을 다루는 기본적인 연산자 / 두 개의 피연산자를 가지는 이항 연산자 산술 연산자 설명 + 왼쪽 피연산자에 오른쪽 피연산자를 더함. - 왼쪽 피연산자에서 오른쪽 피연산자를 뺌. * 왼쪽 피연산자에 오른쪽의 피연산자를 곱함. / 왼쪽 피연산자를 오른쪽 피연산자로 나눔. DIV 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 소수 부분을 버림. %또는 MOD 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 반환함. 연산자 우선 순위 0 () 1 INTERVAL 2 BINARY, COLLATE 3 ! 4 - (단항 연산자), ~ (비트 연산자) 5 ^ 6 *, /, DIV, %, MOD 7 - (이항 연산자), + 8 9 & 10 11 = (관계 연산자), , >=, >, 2023. 1. 20.
MySQL 데이터 타입 정수 타입 타입 저장 공간 최솟값 최댓값 TINYINT 1바이트 -128 127 SMALLINT 2바이트 -32768 32767 MEDIUMINT 3바이트 -8388608 8388607 INT 4바이트 -2147483648 2147483647 BIGINT 8바이트 -9223372036854775808 9223372036854775807 ALTER TABLE Reservation ADD Price INT Reservation 테이블에 INT형 Price 필드를 추가 MySQL에서도 데이터 타입은 여러 종류가 있으나 자주 쓰는 타입은 거의 정해져 있다고 한다. 고정 소수점 타입 실수의 값을 정확히 표기할 때 사용 DECIMAL(M, D) M은 소수를 포함한 총 자릿수 (최대 65), D은 소수 부분의 자릿수.. 2023. 1. 20.
MySQL 구문 [삽입, 수정, 선택, 중복 제거, 정렬, 별칭] ▶ 삽입 MySQL에선 INSERT INTO로 테이블에 새로운 레코드를 추가해줄 수 있다. INSERT INTO 테이블이름(필드이름1, 필드이름2, 필드이름3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ INSERT INTO 테이블이름 VALUES (데이터값1, 데이터값2, 데이터값3, ...) 삽입은 위 처럼 2가지 방식이 있는데 첫 번째 방식은 작성한 필드이름 순서에 맞게 데이터 값을 넣어주면 되고 두 번째 방식은 필드 이름은 적지 않고 만들어진 모든 필드 순서에 따라 모든 데이터 값을 넣어줘야 한다. * 두 번째 방식에서 생략 가능한 경우 ㅡ NULL이 허용된 필드 ㅡ DEFAULT 제약 조건이 설정된 필드 ㅡ AUTO_IN.. 2023. 1. 19.