목록데이터베이스(DB) (5)
사이먼's 코딩노트
이번에는 여지껏 쌓아온 DB 기본 쿼리 문법을 사용하여 문제를 풀어봅시다. # 으로 작성된 문장은 주석처리가 되어있는 문제의 조건이다. 1. 데이터베이스 생성 및 테이블 생성과 데이터 입력 # a6 DB 삭제/생성/선택 DROP DATABASE IF EXISTS a6; CREATE DATABASE a6; USE a6; # 부서만들기(홍보, 기획, IT) CREATE TABLE dept ( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, regDate DATETIME NOT NULL, `name` CHAR(100) NOT NULL UNIQUE ); INSERT INTO dept SET regDate = NOW(), `name` = '홍보'; INSERT..
[GROUP BY] GROUP BY는 같은 값을 가진 행끼리 하나의 그룹으로 뭉쳐주는 역할을 한다. 행을 그룹해야하는 이유는 GROUP BY 절은 주로 여러 행의 값을 더하거나, 평균값을 내거나, 개수를 세거나, 최고(저)값을 계산하거나 하는 집계 함수에 사용되기 때문에 필요하다. 대표적인 집계 함수는 아래와 같다. COUNT() : 행의 개수를 카운트한다. MAX() : 행 안에 있는 값들 중 최대값을 반환한다. MIN() : 행 안에 있는 값들 중 최소값을 반환한다. AVG() : 행 안에 있는 값들의 평균값을 반환한다. SUM() : 행 안에 있는 값들의 합을 반환한다. 먼저 부서가 담겨있는 테이블인 dept와 사원이 담겨있는 테이블인 emp가 있다고 생각해보자. 전 사원에 대하여 부서별, 최고연봉..
[JOIN] 조인이란 데이터베이스에서 두 개 이상의 테이블을 연결하여 하나의 결과와 테이블로 만드는 것을 의미한다. 이를 통해 데이터를 효율적으로 검색하고 처리하는데 도움을 준다. 조인을 사용하는 이유는 데이터베이스에서 테이블을 분리하여 데이터 중복을 최소화하고 데이터의 일관성을 유지하기 위해서다. 조인의 종류는 대표적으로 INNER JOIN, LEFT JOIN, RIGHT JOIN 등이 있으면 각 JOIN 방식에 따라 결과가 달라진다. [INNER JOIN] INNER JOIN은 두 테이블에서 공통된 값을 가지고 있는 행(row)들만 반환한다. 아래는 부서를 표현하는 dept 테이블과 사원을 표현하는 emp 테이블이다. emp 테이블의 deptId 컬럼은 각 부서의 ID이다. 예를 들어 deptId가 ..
[데이터베이스 구조] 데이터베이스는 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다. 데이터베이스 안에는 여러 테이블들을 존재한다. 테이블이란 행과 열로 구성된 데이터의 모음이다. 예를 들어, 회원 테이블의 구조를 생각하면 회원번호, ID, PW, 이름, 이메일, 성별 등의 개인정보들이 각 column이 된다. row에는 각 하나의 회원 정보가 input 되어있다. 그리고 테이블을 구성하는 각 column들은 Primary Key(PK)와 Foreign Key(FK)로 나눌 수 있다. PK는 기본키로써 회원번호와 같은 각 테이블마다 존재하는 고유의 id를 의미한다. FK는 외래키로써 서로 다른 테이블 간에 관계를 성립시키는 id를 의미한다. 보다 자세한 구조는 진행하면서 추..
[MySQL 설치] 데이터베이스를 사용하기 위해서 우리는 Oracle사의 MySQL을 사용하려한다. MySQL은 세계에서 가장 많이 쓰이는 오픈소스의 관계형 데이터베이스 관리 시스템이다. Xampp는 크로스 플랫폼 웹 서버 자유 소프트웨어 꾸러미로서, Apache Web Server(aws), MariaDB, PHP, 펄을 포함하고 있다. DB을 사용하기 위해서 우리는 xampp를 사용할 예정이고, 구글링을 통해 다운로드가 가능하다. xampp의 설치가 끝났다면 먼저 설정파일을 수정해야한다. 패널의 두번째 서비스의 MySQL의 Config 버튼을 누르면, my.ini라는 설정파일이 있고 파일 내용 중 [mysqld] 부분에 "lower_case_table_names = 2" 을 추가해준다. MySQL을 ..