1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベース入門(環境構築〜初めてのデータベース,SQL)

Last updated at Posted at 2024-11-03

はじめに

Yasuと申します.2週間ごとに学習成果をアウトプットする目的で記事を作成しています.自分のための記事にはなりますが,同じように学習している初学者の方にも参考になれば嬉しいです.

今回はデータベースを触るのが初めてだったので,環境構築を中心に記述します.


1. 環境構築

MySQLのインストール

まずはターミナルを開き,macOS向けのパッケージ管理ツール「Homebrew」を利用してMySQLをインストールします.

brew install mysql

サーバの起動・停止・状態確認

MySQLサーバの起動,停止,および状態を確認するには以下のコマンドを使用します.

mysql.server start   # サーバを起動
mysql.server stop    # サーバを停止
mysql.server status  # サーバの状態を確認

MySQLサーバへの接続

MySQLサーバを起動したら,次にサーバへ接続します.

mysql -u root -p
Enter password: 
# 初回ログイン時はパスワードが設定されていないため,そのままEnterを押してログインできます.

初回パスワードの設定

初回ログイン後,セキュリティを高めるためにパスワードを設定します.

ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';
exit;  -- ログアウト

2. VSCodeの設定

MySQLのGUI操作拡張機能

VSCode上でMySQLをGUIで操作するために,「MySQL Shell for VS Code」という拡張機能をインストールします.これにより,GUIから視覚的にデータベースを操作できるようになります(私は基本的にターミナルで操作していますが,GUIでもできるようにしておくと何かと便利だと思います).

ER図作成のための拡張機能

データベース設計時に役立つER図をVSCodeで描くために,以下の拡張機能とアプリをインストールします.

  • 拡張機能:PlantUML
  • 必要なアプリ:openjdk と graphviz
brew install openjdk
brew install graphviz

これで,.pumlファイルを作成し,opt+dでER図をコードから生成できます.

3. データベースの作成

データベースの新規作成

新しいデータベースを作成し,使用するためのコマンドです.

-- データベース「sample_db」を新規作成
CREATE DATABASE sample_db;
-- 作成したデータベースを使用
USE sample_db;

テーブルの作成

次に,データベース内にテーブルを作成します.ここでは主キーと外部キーの設定方法も示します.

CREATE TABLE example_table (
    table1_id INT NOT NULL AUTO_INCREMENT,
    table2_id INT,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY (table1_id),
    FOREIGN KEY (table2_id) REFERENCES another_table(table2_id)
);

4. データの挿入

データの挿入方法

作成したテーブルにデータを挿入します.

INSERT INTO example_table (name, table2_id) VALUES
('サンプル1', 1),
('サンプル2', 2);

.sqlファイルを使った大量データの挿入

大量のデータを一括で挿入する場合は,.sqlファイルを作成して次のように読み込みます.

source ファイル名.sql;

データの削除とAUTO_INCREMENTのリセット

テーブル内のデータを消去し,AUTO_INCREMENTの値をリセットする方法です.全データが消去されるため,注意が必要です.

DELETE FROM example_table;  -- テーブルの全データが消去されます
ALTER TABLE example_table AUTO_INCREMENT = 1;  -- AUTO_INCREMENTをリセット

これで,基本的なMySQLの設定と操作方法が整いました.

5. クエリの記述

全カラム・全データの表示

テーブル内のすべてのカラムとデータを表示したい場合は,以下のようにクエリを記述します.

SELECT * FROM example_table;

このクエリは example_table テーブル内のすべてのデータを取得し,結果を表示します.* は「すべてのカラム」を意味します.クエリについての詳細は本記事では割愛します.

クエリのファイル実行

データ挿入と同様に,クエリをファイルから実行することができます.これにより,長いクエリを直接ターミナルに入力する手間を省き,簡単に実行できます.

  • SQLファイルの作成
    テキストエディタを使用して,例えばquery.sqlファイルを作成します.

  • ファイルからのクエリ実行
    MySQLに接続後,以下のコマンドでファイル内のクエリを実行します.

source query.sql;

こうすることで,複数行にわたるクエリや複雑なクエリをターミナルに入力することなく,一度に実行することが可能です.

終わりに

データベースはプログラミングにおいて欠かせない知識の一つです.データベース設計やSQLの学習が重要なのはもちろんですが,初学者にとってはその前段階の環境構築が難関であるのも事実です(実際,私も環境構築にかなりの時間を費やしました).

この記事が,環境構築をスムーズに進め,早くSQLの学習に取り組める一助となれば幸いです.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?