---
title: "JDBCとは？SQL・JavaVM・HTMLとの違い【基本情報技術者試験】"
description: "JDBCの役割を、Javaプログラムからデータベースへ接続し、SQLを実行するための標準APIという視点から整理します。SQL、JavaVM、HTMLとの違いを比較し、基本情報技術者試験で選択肢を切る判断軸を解説します。"
last_modified_at: "2026-08-07"
canonical_url: "https://stemtazoo.github.io/fe/jdbc/"
section: "fe"
---

## まず結論

**JDBC（Java Database Connectivity）**とは、Javaプログラムからデータベースへ接続し、SQLを実行するための標準的なAPIです。

科目Aでは、次の表現が判断の合図です。

```text
Javaからデータベースへ接続する
JavaからSQLを実行する
→ JDBC
```

特に混同しやすい用語は、次の3つです。

```text
データベースへ命令する言語
→ SQL

Javaプログラムを実行する仮想マシン
→ JavaVM

Webページの構造を記述する言語
→ HTML
```

## 直感的な説明

JDBCは、Javaアプリケーションとデータベースの間をつなぐ「通訳兼窓口」のような仕組みです。

例えば、社員一覧を表示するJavaアプリケーションでは、次のような流れになります。

```text
Javaアプリケーション
↓ JDBCで接続
SQLを送信
↓
データベース
↓
検索結果を返す
```

ここで役割を分けると、次のようになります。

```text
接続してSQLを送る仕組み
→ JDBC

データベースへ送る命令
→ SQL
```

JDBCとSQLは一緒に使われますが、同じものではありません。

## 定義・仕組み

### JDBCの基本的な役割

JDBCは、Javaプログラムからリレーショナルデータベースを操作するためのAPIです。

主に次の処理を行います。

- データベースへ接続する
- SQLを送信する
- 検索結果を受け取る
- データを登録・更新・削除する
- トランザクションを確定または取消しする
- 接続を終了する

### APIとは

APIは、プログラムから別の機能やサービスを利用するための決められた窓口です。

JDBCでは、Javaプログラムから共通の方法でデータベース操作を呼び出せます。

```text
接続する
SQLを実行する
結果を取得する
接続を閉じる
```

データベース製品ごとの違いを、Javaプログラム側から直接すべて意識せずに済むようにします。

### JDBCドライバ

実際に各データベースへ接続するときは、通常、対応するJDBCドライバを利用します。

```text
Javaアプリケーション
↓
JDBC API
↓
JDBCドライバ
↓
データベース
```

JDBCドライバは、JDBCの命令を各データベース製品が理解できる通信へ変換します。

代表的なデータベース製品には、次のようなものがあります。

- MySQL
- PostgreSQL
- Oracle Database
- Microsoft SQL Server

### JDBCを使った処理の流れ

基本的な流れは次のとおりです。

```text
1. 接続先を指定する
2. データベースへ接続する
3. SQLを作成する
4. SQLを実行する
5. 結果を受け取る
6. 接続を閉じる
```

試験では、コードの書き方よりも、JDBCがJavaとデータベースの接続を担当することを押さえるのが重要です。

## どんな場面で使う？

### 業務アプリケーション

販売管理、在庫管理、顧客管理などのJavaアプリケーションでは、データベースへ保存された情報を読み書きします。

```text
商品を検索する
在庫数を更新する
注文情報を登録する
```

このような処理でJDBCが使われます。

### Webアプリケーション

Web画面から入力された内容を、Javaのサーバ側プログラムが受け取り、JDBCを使ってデータベースへ保存することがあります。

```text
Web画面
↓
Javaプログラム
↓ JDBC
データベース
```

### バッチ処理

夜間に大量のデータを集計したり、別システムから受け取ったデータを登録したりする処理でもJDBCが利用されます。

## よくある誤解・混同

### SQLとの違い

SQLは、データベースのデータを検索・登録・更新・削除するための言語です。

```sql
SELECT name
FROM employees;
```

JDBCは、このSQLをJavaプログラムからデータベースへ送るためのAPIです。

```text
データベースへの命令
→ SQL

Javaから接続してSQLを実行する
→ JDBC
```

### JavaVMとの違い

JavaVMは、Javaプログラムを実行するための仮想マシンです。

```text
Javaプログラムを動かす
→ JavaVM

JavaからDBへ接続する
→ JDBC
```

JavaVMの上で動くJavaアプリケーションが、必要に応じてJDBCを利用します。

### HTMLとの違い

HTMLは、Webページの文書構造を記述するマークアップ言語です。

```text
見出し
文章
表
リンク
画像
→ HTMLで構造を記述
```

JDBCは画面表示ではなく、Javaとデータベースの接続を担当します。

### JDBC自体がデータベースではない

JDBCは、データを保存・管理する製品ではありません。

```text
データを保存・管理する
→ データベース

Javaからデータベースを利用する
→ JDBC
```

### JDBCはSQLの種類ではない

JDBCはAPIであり、SQLは問合せ言語です。

```text
JDBC
→ 接続と操作のためのAPI

SQL
→ データ操作のための言語
```

### 科目Aでの切り分け

選択肢の中心語を確認します。

| 選択肢の表現 | 該当する用語 |
|---|---|
| Javaからデータベースへ接続する標準API | JDBC |
| データの検索・登録・更新・削除を行う言語 | SQL |
| Javaプログラムを実行する仮想マシン | JavaVM |
| Webページの構造をタグで記述する | HTML |

```text
JavaとDBをつなぐ
→ JDBC

DBへ命令する
→ SQL

Javaを実行する
→ JavaVM

Web文書を書く
→ HTML
```

## まとめ（試験直前用）

- JDBCは、Javaプログラムからデータベースへ接続するための標準API
- JavaからSQLを送信し、結果を受け取るために使う
- SQLはデータベースへ命令する言語であり、JDBCとは役割が異なる
- JavaVMはJavaプログラムを実行する仮想マシン
- HTMLはWebページの構造を記述するマークアップ言語
- 「Javaからデータベースへ接続」が出たらJDBCを疑う

```text
Javaとデータベースをつなぐ
→ JDBC

データベースへ命令する
→ SQL

Javaプログラムを実行する
→ JavaVM

Webページの構造を書く
→ HTML
```
