0
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学習入門 | SQLでデータベース作成、テーブル作成を行ってみた

Last updated at Posted at 2025-04-15

※学習中のため間違っている箇所があるかもしれません。

はじめに

前回はSQL構文を書く際に必要なSQL Clientの設定まで完了しました。
今回はSQLの基本的な文法を学習していきます。

使用環境:
  • MySQL
  • A5M2

データベースとテーブル

まず簡単にデータベースとテーブルに関して学習していきましょう

データベース

データベースとは簡単に言うと、テーブルを保存しておくための入れ物です。
データベース内には複数のテーブルがあり、データベースに接続することでそれらのテーブルに対して、検索、削除、登録といった操作を行うことができます。

テーブル

テーブルとは「データ」を保存しておくための入れ物です。
表形式のデータ表があり、
例えば、userテーブルがある場合、テーブル内には複数のカラムが存在します。
nameカラム、addressカラム、ageカラム、emailカラム

userテーブル

name address age email
名前1 住所1 年齢1 メールアドレス1
名前2 住所2 年齢2 メールアドレス2
名前3 住所3 年齢3 メールアドレス3

上記テーブルで
name,address,ageなどの単一の列をカラム
「名前1、住所1、年齢1、メールアドレス1」でまとまっている1行をレコードといいます。

テーブルはデータを新しく挿入する場合は、レコード単位でデータを挿入していきます。

言葉では伝わりにくい個所もあるためまずは実際に手を動かしていきましょう。

現在のデータベースの確認

まずは現在のデータベースの状況から確認していきましょう。
Queryタブの上部に「データベースを選択してください」とあります。
そこから前回作成したデータベースを選択します。

image.png

image.png

SHOW

データベースの確認をしたい場合、SHOWを使用します。

SHOW DATABASES;

このクエリを実行することで、現在存在するデータベース一覧を確認することができます。

結果確認

image.png

この段階ではMySQLで初期設定時に作成されているDBしかありません。
※「mysql-study」は「接続設定で名付けたラベル」にすぎません。
これはA5M2で設定された“接続名”であり、MySQL上に存在している実際のデータベースとは別物です。
実際の SHOW DATABASES; に表示されているのがMySQL上の実体(本物のデータベース)です。

データベースの作成

データベースの確認が終了したので、次はデータベースの作成を行っていきます。

CREATE

CREATEは使用することでテーブルやデータベースを作成することができます。

CREATE DATABASE mysqlstudy;

このsqlを実行することで「mysqlstudy」というデータベースを作成することができます。
構文は以下に記載します。

CREATE DATABASE データベース名;

a5m2でSQLを実行したい場合、
対象のSQL文にカーソルを置いて「Ctrl + Enter」を押す
image.png

または、左上の△マーク「SQLを実行・キャレット位置」をクリックすることで実行できます。
image.png

結果確認

以下のように「1件のレコードを操作しました。」となった場合、正常に完了しています。
※DATABASEの命名に関して、基本的にDB名やテーブル名には「-」は含めることができないので注意していください。
image.png

コマンドで確認すると正常に「mysqlstudy」が作成されていることがわかります。

image.png

テーブルの作成

次はデータベース内にテーブルを作成していきます。

テーブルを作成するためにはまず、先ほど作成した「mysqlstudy」に接続し、テーブル操作を行える状態にします。

USE(DB接続)

USEを使用することで対象DBにアクセスすることができます。
※USE文を実行せずにCREATE TABLEなどを行うと、エラーになるか、別のデフォルトDBに作成されてしまうことがあります。
必ず対象DBに接続してから操作を行いましょう。

USE mysqlstudy;

image.png

テーブル作成

データベースにアクセス後、テーブルを作成していきます。
テーブルを作成するためにもCREATEを使用します。

ただ、テーブルはデータベースと違い、データ構造を指定する必要がある点に注意してください。

今回は簡単なユーザーテーブルを作成していきます。

CREATE文

CREATE TABLE users (
  id int AUTO_INCREMENT not null primary key,
  name varchar(50),
  email varchar(50),
  role ENUM('USER', 'ADMIN'),
  created_by varchar(50),
  updated_by varchar(50),
  created_at timestamp default current_timestamp,
  updated_at timestamp default current_timestamp,
  delete_flg boolean 
);

別の記事で使用しているものですが、
このユーザーsql文を実行することでテーブルを作成することができます。

構文は以下になります

CREATE TABLE テーブル名称 (
    カラム名 データ型 オプション,
    カラム名 データ型 オプション
)

※補足:上記の型やオプションに関して簡単に説明すると、
int:数値を示すデータ型
varchar(50):50文字までの文字列型
ENUM('USER', 'ADMIN'):特定の文字列'USER','ADMIN'のどちらかのみを設定できる
timestamp:日付形式
boolean: true/false(MySQLではTINYINT(1)として保存される)
booleanは実際には0(偽)、1(真)で判定されます。

今回のカラム構成は、以下のような用途を想定しています:

  • role:権限による画面・操作制御
  • created_by / updated_by:操作ユーザーの記録
  • delete_flg:削除フラグによる論理削除対応

実務では「updated_atの自動更新」や「論理削除(delete_flg)」などの設計がよく使われます。
今回のテーブルもその実務を意識した構成になっています。

詳しくはまた別の記事で解説しますが、今はこのぐらいの認識で大丈夫です。

結果確認

確認すると、usersテーブルが作成されているのがわかります。

image.png
GUI上でも作成されていることが確認できます。
image.png

今後はこちらのusersテーブルを使用して基本構文の学習を進めていきます。

まとめ

今回はデータベース、テーブルの作成に関して解説していきました。

業務で触れる機会がない方もいると思いますが、
基本的な構文なので、書き方はしっかり覚えておきましょう。

次回はこのテーブルを利用して基本構文
INSERT,SELECT,DELETE,UPDATE
を学習していく予定です。

引き続き、SQLの基礎力を高める学習記事を投稿していきます!

※この記事で使用しているSQLスクリプトやDB定義は、別途GitHubにて公開予定です。

前:SQL学習入門 | 業務現場で使用されているA5:SQL Mk-2のセットアップ手順を解説してみた

次:SQL学習入門 | INSERT/SELECT/DELETE/UPDATE 基本構文を学習してみた

0
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
0
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?