목록분류 전체보기 (200)
사이먼'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을 ..

[게시판 제작 ~ing]작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.리포지터리 주소 URL : https://github.com/psm817/full_stack_proj_2024_03 GitHub - psm817/full_stack_proj_2024_03Contribute to psm817/full_stack_proj_2024_03 development by creating an account on GitHub.github.com [html 추출 기능 구현]이번에는"export html" 이라는 명령어와 함께 실행과 동시에 html 파일을 추출하는 기능을 구현해봅시다.기존의 명령어의 종류는 article과 member 였는데, export가 추가됨으로써 export에 대한 각 컨트..

[게시판 제작 ~ing]작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.리포지터리 주소 URL : https://github.com/psm817/full_stack_proj_2024_03 GitHub - psm817/full_stack_proj_2024_03Contribute to psm817/full_stack_proj_2024_03 development by creating an account on GitHub.github.com [MVC 패턴]MVC 패턴이란 Model-View-Controller 의 약어로 주로 GUI 기반의 애플리케이션 개발에 사용된 디자인 패턴이다.개발 초창기에 한 파일에 모든 코드를 넣었기 때문에 기능을 수정하거나 특정 코드를 찾을 때 불편함이 컸다.위와 ..

[게시판 제작 ~ing]작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.리포지터리 주소 URL : https://github.com/psm817/full_stack_proj_2024_03 GitHub - psm817/full_stack_proj_2024_03Contribute to psm817/full_stack_proj_2024_03 development by creating an account on GitHub.github.com [게시물 수정/삭제 시 접근 제한]게시판 제작의 다음 단계는 게시물 수정/삭제 시 접근 제한이다.지난번엔 게시물 작성 시에만 로그인이 되어있지 않다면 article write를 수행하지 못하도록 제한하였다.이번에는 게시물 수정 및 삭제 시에 로그인이 되어..

[게시판 제작 ~ing]작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.리포지터리 주소 URL :https://github.com/psm817/full_stack_proj_2024_03 GitHub - psm817/full_stack_proj_2024_03Contribute to psm817/full_stack_proj_2024_03 development by creating an account on GitHub.github.com [로그아웃 기능 추가 ]게시판 제작의 다음 단계는 로그아웃 기능입니다.로그아웃 기능은 member logout이라는 명령어와 함께 로그아웃이 가능하도록 한다.먼저 MemberController.java 에서 명령어 케이스와 기능을 구현한다.public vo..

[Scanner] Java에서는 System.out를 통한 출력과 System.in을 통한 입력 기능이 존재한다. 출력 문법의 대표적인 예시는 System.out.println()이 있다. 아래 코드는 Scanner를 통해 키보드 입력이 가능하게 된다. package org.example; import java.util.Scanner; //TIP To Run code, press or // click the icon in the gutter. public class Main { public static void main(String[] args) { System.out.println("== 프로그램 시작 =="); Scanner sc = new Scanner(System.in); System.out.pr..