현의 개발 블로그

JDBC 활용해 API 개발하기 - SQL 문법 및 MYSQL 연결하기 본문

스프링부트 실습/도서관리 웹 개발

JDBC 활용해 API 개발하기 - SQL 문법 및 MYSQL 연결하기

hyun2371 2023. 4. 15. 15:44

JDBC(Java DataBase Connectivity)는 자바에서 DB를 사용할 수 있도록 지원하는 API 이다.

DB로 커넥션을 연결하고, SQL을 전달하면, DB로부터 응답을 받는 형태이다.

 

JDBC를 활용하기 위해서 SQL 문법을 알아야 한다.

SQL(Structured Query Language)는 표처럼 구조화된 데이터를 조회하는 언어이다.

 

 

SQL 문법

DDL (Data Definition Language, 데이터 정의어)

- 데이터베이스 생성하기

   CREATE DATABASE [DB 이름];

 

- 데이터베이스 제거하기

   DROP DATABASE [DB 이름];

 

- 데이터베이스 목록  조회하기

   SHOW  DATABASES;

 

- 데이터베이스 사용하기

    USE [DB 이름];

 

- 테이블 목록 조회하기

   SHOW TABLES;

 

 

- 테이블 생성하기

  create table [테이블 이름] (

     [필드명] [타입] [제약조건],

      ...

     primary key ([필드명])

   );

 

create table fruit (

    id bigint auto_increment,
    name varchar(20),
    price int,
    stocked_date date,
    primary key (id)

);

 

 

제약 조건의 종류는 다음과 같다

UNIQUE KEY 테이블의 행 데이터를 고유하게 식별하기 위한 고유키
NOT NULL NULL이 올 수 없음
PRIMARY KEY 테이블의 행 데이터를 고유하게 식별하기 위한 기본키
NULL과 중복값이 올 수 없음
하나 이상의 컬럼이 그룹화되어 기본키로 쓰일 수 있음
FOREIGN KEY 두 개의 테이블을 연결하고자 기본키와 함께 사용됨
CHECK 논리식을 작성해 입력값을 제한할 수 있음
DEFAULT 데이터 값을 입력하지 않은 경우, 자동으로 입력되는 값 정의

 

- 테이블 제거하기

   DROP TABLE [테이블명];

 

 

 

DML(Data Manipulation Langauge, 데이터 조작어)

 

조회

SELECT * FROM [테이블명] WHERE [조건];

SELECT * FROM fruit WHERE name = '사과' AND price <=2000;

//이름이 사과 또는 수박인 과일 조회
SELECT * FROM fruit WHERE name in ('사과', '수박')

 

업데이트

UPDATE [테이블명] SET [필드1] = 값 WHERE [조건];

UPDATE fruit SET price = 1500 WHERE name = '사과';

 

 

삭제

DELETE FROM [테이블명] WHERE [조건];

 

 

 

SpringBoot에서 MySQL 사용하기

인텔리제이에서 MySQL에 접근할 수 있다.

필요에 따라 비밀번호 추가가 가능하다.

 

mysql 을 사용하기 위해 build.gradle에 다음 코드를 추가한다.

dependencies{
runtimeOnly 'mysql:mysql-connector-java:8.0.32'
}

resources 안에 application.yml을 추가해서 다음과 같이 작성한다.

spring:
  datasource:
    url: "jdbc:mysql://localhost/library"
    username: "root"
    password: ""
    driver-class-name: com.mysql.cj.jdbc.Driver

jdbc를 사용해 localhost에 있는 mysql library DB에 접근한다는 의미이다.

 

 

 

SQL 문법을 알아봤고, SpringBoot에서 MySQL을 사용하기 위한 설정을 완료했다.

다음 글에서 본격적으로 JDBC를 활용해 CRUD 개발을 해보자

 

2023.04.15 - [스프링부트/도서관리 웹 개발] - JDBC 활용해 API 개발하기2 - CRUD 개발

 

JDBC 활용해 API 개발하기2 - CRUD 개발

이전에 유저 정보를 List에 저장했다면, 이번에는 DB에 저장하도록 코드를 바꿀 것이다. 먼저 User 테이블을 생성한다. create table user( id bigint auto_increment, name varchar(25), age int, primary key(id) ); jdbcTemplat

hyun-keepdeving.tistory.com

 

 

 


참고

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%84%9C%EB%B2%84%EA%B0%9C%EB%B0%9C-%EC%98%AC%EC%9D%B8%EC%9B%90/dashboard

 

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인

Java와 Spring Boot, JPA, MySQL, AWS를 이용해 서버를 개발하고 배포합니다. 웹 애플리케이션을 개발하며 서버 개발에 필요한 배경지식과 이론, 다양한 기술들을 모두 학습할 뿐 아니라, 다양한 옵션들

www.inflearn.com

https://mozi.tistory.com/207

 

Comments