본문 바로가기

데이터 관리를 DBMS에게 맡기기 : JDBC API 사용 ServerApp → Collection ←→ 파일 이라는 경로였는데 이제는 DBMS으로 변경한다 1단계 - 프로젝트에 JDBC 드라이버를 설정한다. build.gradle 변경 2단계 - DBMS에 데이터를 저장할 테이블을 생성한다. ddl.sql 파일의 SQL 실행 3단계 - DBMS를 이용하여 회원 데이터를 저장하고 로딩한다. MariadbMemberDao 클래스를 생성 → JDBC API를 사용 4단계 - DBMS를 이용하여 프로젝트 데이터를 저장하고 로딩한다. MariadbProjectDao 클래스를 생성 → JDBC API를 사용 프로젝트 목록을 가져올 때 멤버 목록도 함께 가져오기 ver1: @Override public List findAll() throws Exception { try (..
Join, 서브쿼리, 그룹으로 묶기 조인 - 서로 관련된 테이블의 데이터를 연결하여 추출하는 방법 - 기법 1) CROSS 조인(=Cartesian product) 2) NATURAL 조인 3) JOIN ~ ON 4) OUTER JOIN 1. cross join : 두 테이블의 데이터를 1:1로 모두 연결한다. select mno, name from memb; select mno, work, bank from stnt; /* => mno가 어떤 테이블의 컬럼인지 지정하지 않으면 실행 오류!*/ select mno, name, mno, work, bank from memb cross join stnt; /* => select 컬럼이 두 테이블 모두 있을 경우, 컬럼명 앞에 테이블명을 명시하여 구분하라!*/ select memb.mno mem..
FK(Foreign Key) FK(Foreign Key) - 다른 테이블의 PK를 참조하는 컬럼이다. 첨부파일 정보가 포함된 게시글을 저장하는 테이블을 정의해 보자. 1. 한 개의 테이블로 게시글과 첨부파일을 저장하기 최대 5개의 첨부파일 경로를 저장할 컬럼을 만든다. /* 게시글을 저장할 테이블 */ create table test1( no int primary key auto_increment, title varchar(255) not null, content text, rdt datetime default now(), filepath1 varchar(255), filepath2 varchar(255), filepath3 varchar(255), filepath4 varchar(255), filepath5 varchar(255)..
DQL(Data Query Language) DQL : 데이터를 조회할 때 사용하는 문법 테스트 용 테이블 및 데이터 준비 : create table test1 ( no int primary key auto_increment, name varchar(20) not null, class varchar(10) not null, working char(1) not null, tel varchar(20) ); insert into test1(name,class,working) values('aaa','java100','Y'); insert into test1(name,class,working) values('bbb','java100','N'); insert into test1(name,class,working) values('ccc','java100','..
DDL - 테이블 생성, 컬럼타입 DDL(Data Definition Language) DB 객체(테이블, 뷰, 함수, 트리거 등)를 생성, 변경, 삭제하는 SQL 명령이다. 데이터베이스 1. 데이터베이스 생성 > create database 데이터베이스명 옵션들...; 2. 데이터베이스 삭제 > drop database 데이터베이스명; 3. 데이터베이스 변경 > alter database 데이터베이스명 옵션들...; 테이블 1. 테이블 생성 create table 테이블명 ( 컬럼명 타입 NULL여부 옵션, 컬럼명 타입 NULL여부 옵션, ... 컬럼명 타입 NULL여부 옵션 ); 예) > create table test01 ( name varchar(50) not null, kor int not null, eng int not nul..