はじめに
この記事では、テーブルの基本的な作成方法と削除方法に関するSQL文を実際に検証しながら解説します。
これからSQLの基礎を学びたい方や、簡単に環境を構築して気軽に試したい方に向けた内容です。
また、本記事は個人的な備忘録としてまとめたものです。その点をご理解いただければ幸いです。
書こうと思ったきっかけ
私は、テーブル設計やSQLについて、技術書を読んで体系的に学んだわけではありません。
とにかく手を動かし、試行錯誤しながら基礎を身につけてきました。
この経験を踏まえ、今回はSQLの基本的な部分を整理し、体系的に振り返りながら記事としてアウトプットしていきます。
事前準備
手軽にSQL文を試す方法として、今回は Docker Hub を活用し、SQLコマンドの技術検証を行います。
📌 詳しい手順については、過去の記事にまとめていますので、こちらを参考にしてください。
また、本記事では 事前にデータベースが作成されていることを前提 に進めていきます。まだデータベースを作成していない方は、以下の記事を参考にしてください。
実際にやってみた
テーブルを作成するSQL文
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
解説
-
CREATE TABLE users
で、新しいテーブルusers
を作成します。 -
id INT AUTO_INCREMENT PRIMARY KEY
は、主キー(id
)をAUTO_INCREMENT
(自動で連番)に設定。 -
name VARCHAR(100) NOT NULL
は、100文字までの文字列を格納するname
列(NULL
不可)。 -
email VARCHAR(255) UNIQUE NOT NULL
は、メールアドレスを格納するemail
列(重複不可)。 -
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
は、レコード作成時の日時を自動設定。
実行結果
mysql> CREATE TABLE users (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(100) NOT NULL,
-> email VARCHAR(255) UNIQUE NOT NULL,
-> created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-> );
Query OK, 0 rows affected (0.01 sec)
mysql>
テーブルを削除するSQL文
DROP TABLE users;
テーブルが存在する場合のみ削除する方法
削除前に テーブルが存在するかを確認し、安全に実行 する場合は、以下のSQLを使用できます。
DROP TABLE IF EXISTS users;
解説
-
DROP TABLE users
は、テーブルusers
を削除するSQLコマンド。 -
注意:
DROP TABLE
を実行すると、そのテーブル内のすべてのデータが完全に削除され、元に戻せません。
実行結果
mysql> DROP TABLE IF EXISTS users;
Query OK, 0 rows affected (0.01 sec)
mysql>
補足
- テーブルを作成・削除するには、適切な権限(
CREATE TABLE
、DROP TABLE
権限)が必要です。 -
DROP TABLE
を実行すると、テーブルのデータだけでなく、テーブル自体も完全に削除されます。
まとめ
本記事では、データベース内で テーブルを作成・削除する基本的なSQL文 を紹介しました。
SQLを学ぶ上で、CREATE や DROP の使い方を 正しく理解し、適切に使い分けることが重要 です。
今後も、基本的なSQLの知識を しっかりと定着 させていきたいと思います。