5. DB/4-1. MySQL DBMS
MySQL - [JOIN (Inner Join / Outer Join / Cross Join / Self Join) ]
JOIN SELECT table1별칭.컬럼1, ..., table2별칭.컬럼1, ... FROM table1 [table1의 별칭] JOIN table2 [table2의 별칭] ON table1별칭.컬럼1 = table2별칭.컬럼2 [WHERE 조건문]; - 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법 - 테이블에서 공통된 데이터가 저장된 컬럼을 찾아서 조인 구문을 작성해야함. 컬럼명이 같을 필요는 없음 - 성능 개선을 위해서 from절에 테이블 alias를 선언하여, 컬럼명 앞에 테이블 alias를 붙여줌 - 한쪽 테이블에만 있는 유일한 컬럼명 앞에는 테이블명이나 테이블 alias명이 필수는 아니나 붙여주면 성능 개선에 도움이 되므로 권장하고 있음 - (Inner) Join,..
MySQL - [ 모델링 / 역모델링(ER 다이어그램) ]
1. 데이터 모델링 - 데이터 모델링 (테이블 설계 과정) 1. 개념 모델링 - 뼈대를 만드는 단계 - 테이블명, 컬럼명, 테이블간의 관계 - 간단한 ERD 완성됨 (피터첸 ERD) 2. 논리 모델링 - 개념 모델링의 결과를 구체화 시키는 단계 - 제약조건, 데이터 타입, 컬럼 사이즈 등 - 구체화된 ERD 완성됨 (IE 표기법) 3. 물리 모델링 - 논리모델링의 결과를 토대로 DB에 테이블을 생성하는 단계 - create table --; 구문을 활용 * ERD - 개체-관계 다이어그램(Entity-Relationship Diagram)의 약자로 개체(쉽게 테이블을 생각하면 됨)와 개체 사이의 관계를 도표(다이어그램)로 표현하는 방법 2. 역모델링(리버스 모델링) - 기존의 Database(Schema..
MySQL - [데이터질의어(DQL) - Select]
select 컬럼1, 컬럼2, ... from 테이블명 [where 조건문] [group by 그룹화의 기준이 되는 컬럼명] [having 행그룹 제한 조건문] [order by 기준컬럼 ASC or DESC] Select 1) 모든 컬럼 조회 : * SQL> select * from 테이블명 [where 조건문]; 2) 특정 컬럼 조회 : 출력 원하는 순서대로 컬럼명 나열 SQL> select 컬럼1, 컬럼2, 컬럼3, ... from 테이블명 [where 조건문]; 3) 산술연산자 활용 - select 절에 산술 연산자(+, -, *, %)를 활용한 산술식 작성 가능함. - 컬럼 alias : 컬럼 제목을 컬럼명이나 산술식이 아닌 원하는 제목으로 출력할 경우 사용. as..
MySQL - [데이터조작어(DML) - Insert / Update / Delete ]
* 테이블의 데이터 변경을 위한 SQL문 -> 데이터 조작어(DML : Data Manipulation Language) - 테이블에 새로운 행 추가(insert) - 테이블의 기존 행 수정(update) - 테이블의 기존 행 삭제(delete) 1. Insert - 데이터 삽입을 위한 SQL문 SQL> insert into 테이블명[(컬럼1, 컬럼2, 컬럼3, ...)] values (값1, 값2, 값3, ...); - 컬럼 리스트를 나열한다면 값 리스트 수와 같아야 함. 생략된 컬럼에는 null값 자동 삽입됨. - 컬럼 리스트 생략하면 값을 기본 컬럼 순서대로 다 넣어줘야함. - 데이터 삽입 시 제약조건 유의 : 문자 및 날짜는 작은 따옴표로 묶어서 표현 / 날짜 : 년도–월-일 순서로 작성 ex)'..
MySQL - [데이터 정의어(DDL) - Create / Alter / Drop / Truncate ]
1. Create (테이블 생성) 테이블 생성 문법은 아래와 같다. create table 테이블명 ( 컬럼명1 데이터타입(컬럼사이즈), [컬럼명2 데이터타입(컬럼사이즈), 컬럼명3 데이터타입(컬럼사이즈)] ); # 컬럼명1 은 필수, 이후 컬럼명 2 ~~ 부터는 선택 사항이다. 혹은 기본값이나 제약조건을 줄 수도 있다. (NOT NULL은 무조건 이 방식으로 작성) create table 테이블명 ( 컬럼명1 데이터타입(컬럼사이즈) default 기본값 (or) 제약조건, [컬럼명2 데이터타입(컬럼사이즈), 컬럼명3 데이터타입(컬럼사이즈)] ); 제약조건은 아래쪽에 따로 선언해줘도 된다. (FOREIGN KEY는 무조건 이 방식으로 작성) create table 테이블명 ( 컬럼명1 데이터타입(컬럼사이..
MySQL - [DB(스키마) 설치 / DB 생성]
1. 데이터베이스(스키마) 설치 방법 데이터베이스(스미카)를 설치(추가)할 때는 DB와 테이블 생성하는 SQL문이 있는 script 파일을 넣어주면 된다. workbench에서 쿼리 탭 아래 폴더 아이콘 클릭해서 파일을 선택하고 실행시킨다. hr.sql 파일 실행 결과 schemas 탭에 hr 이 추가되어있음! 명령 프롬프트(cmd)에서는 파일이 있는 경로로 이동해서 MySQL 실행한 후(mysql -u root -p) [ source 파일명.sql; ] 명령어를 입력하면 된다. source employees.sql; 입력하고 확인 결과 잘 추가되어있음! 2. DB 생성 DB 생성은 Workbench 실행 후 MySQL에 root 사용자로 접속한 후, [ create schema DB이름; ] 명령어를 ..