JDBC란? Java DataBase Connectivity: 자바에서 DB 프로그래밍을 하기 위해 사용되는 API로 메소드 호출용 SQL 인터페이스를 지원한다. 서버와 DB 사이에 커넥션 연결 방법, SQL 전달 방법, 결과 응답을 받는 방법이 모두 다르기 때문에 데이터베이스 변경을 하는 경우 문제가 생길 수 있다. 이러한 방식을 해결할 수 있는 것이 자바 표준인 JDBC다. 데이터베이스에 맞는 JDBC 드라이버를 사용할 수 있다. (JDBC Driver , JDBC Driver 등) 표준 인터페이스 3가지 기능을 표준 인터페이스로 정의하여 제공한다. 이 인터페이스를 구현하여 제공하는 라이브러리가 JDBC Driver다. Connection (연결) Statement (SQL 전달) ResultSet ..
전체 글
서브쿼리란? 하나의 쿼리 안에 포함된 또 하나의 종속적 쿼리 (메인 쿼리가 서브쿼리를 포함한다.) 알려지지 않은 기준을 이용한 검색에 유용하다. 메인 쿼리가 실행되기 이전에 한 번만 실행된다. 한 문장에서 여러 번 사용 가능하다. 서브쿼리 사용 시 주의사항 괄호와 함께 사용되어야 한다. 서브쿼리 내에서 ORDER BY 절은 사용할 수 없다. 연산자의 오른쪽에 사용되어야 한다. 오로지 SELECT문으로만 작성할 수 있다. 서브쿼리 기본 문법 SELECT * FROM employee WHERE 급여 > (SELECT 급여 FROM employee WHERE 이름='elice'); 반환에 따른 분류 # 단일 행 서브쿼리 결과가 한 행만 나와 1개의 값만 반환하고 메인쿼리로 전달한다. 연산자 = 같다 같지 않다..
API란? Application Programming Interface 프로그램 간 통신에 사용되는 언어 또는 메시지 형태 REST (REpresentational State Transfer) : 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것 REST API : REST 기반으로 API를 구현한 것 목적? -> 반복되는 패턴을 생략하여 코드를 간소화! Annotation 어노테이션 자바에서의 Annotation(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술이다. CRUD / SQL / HTTP Operation SQL HTTP CREATE INSERT POST READ SELECT GET UPDATE UPDATE PUT DELETE DELETE DELETE GET API 자원..

GROUP BY - 특정 컬럼을 기준으로 그룹화 SUM, AVG, COUNT, MAX, MIN를 활용하여 데이터를 그룹화할 수 있다. SELECT user_id, SUM(컬럼명)// user_id와 컬럼의 내용을 다 더한 값을 조회 FROM rental GROUP BY user_id;// user_id가 같은 열에서 SELECT user_id, MAX(컬럼명)// user_id와 해당 컬럼이 가장 큰 값을 출력 FROM rental GROUP BY user_id; HAVING - 데이터 그룹에 조건을 적용 SELECT user_id, COUNT(*) FROM rental GROUP BY user_id HAVING COUNT(user_id) > 1;// user_id가 같은 1개 초과의 데이터의 갯수 조회..
Key란? 조건에 만족하는 튜플을 찾거나, 정렬할 때에 기준이 되는 속성 #1 기본키 - Primary Key 서로 다른 튜플을 유일하게 식별할 수 있는 기준이 되는 속성 중복된 값을 가질 수 없다. 널 값을 가질 수 없다. 테이블 당 1개만 설정할 수 있다. #2 외래키 - Foreign Key 다른 테이블의 기본 키를 참조하는 속성으로 테이블의 관계를 정의, 데이터가 일관될 수 있도록 돕는 다리 역할을 한다. 한 테이블의 필드이며, 다른 테이블의 기본이다. 각 외부키와 기본키는 1:1로 매칭되어야 한다. 참조되는 테이블의 기본키에 없는 값은 지정할 수 없다. CREATE TABLE customer( idVARCHAR(10)PRIMARY KEY, nameVARCHAR(10), address VARCHA..
#1 데이터 정의어 DDL - Data Definition Language CREATE - 테이블 생성 CREATE TABLE 테이블명( 필드명1 타입, 필드명2 타입, ... ); CREATE TABLE 테이블명( idVARCHAR(10) NOT NULL, nameVARCHAR(10) NOT NULL, address VARCHAR(30) NULL ); SHOW - 테이블 목록 조회 // 데이터베이스가 가지고 있는 테이블의 목록을 출력 SHOW TABLES; DESC - 테이블 구조 확인 // 테이블이 가진 필드, 타입, 조건 등의 구조 출력 DESC 테이블명; ALTER - 테이블 수정 // 새로운 필드 추가 ALTER TABLE 테이블명 ADD 필드명 타입 AFTER 필드명(위치); // 기존 필드 ..