【MySQL】テーブルの基本操作 - 作成・一覧表示・情報表示・削除

【MySQL】テーブルの基本操作 - 作成・一覧表示・情報表示・削除

ここでは、MySQLのテーブルの基本操作を解説します。

検証環境

テーブル

テーブルは“データを格納する箱”のことです。

イメージ的にはExcelやスプレッドシートのような表形式のデータになります。

例.テーブル
商品名 値段 在庫
リンゴ 200 10
ミカン 150 30
パイナップル 1100 3
ブドウ 3500 1

テーブルは主にカラム、レコード、フィールドによって構成されます。

カラム

カラムは“テーブルに格納するデータの名前”のことです。

例えば、上記テーブルの『商品名』・『値段』・『在庫』の列が該当します。

例.カラム
商品名 値段 在庫

カラムは数値や文字列、日付などのデータ型があります。

レコード

レコードは“テーブルのデータ”のことです。

例えば上記テーブルの2〜5行目です。

例.レコード
リンゴ 200 10

通常、テーブルへのデータ追加はレコード単位で行います。

フィールド

フィールドは“最小単位のデータ”のことです。

例えば上記テーブルのリンゴの値段(2列目2行目)です。

例.フィールド
200

作成(CREATE TABLE

テーブルの作成はCREATE TABLE文を使います。

基本構文

CREATE TABLE テーブル名(カラム定義);

サンプル

上記テーブルを実際に作成します。

mysql> CREATE TABLE items(
    -> name VARCHAR(20),
    -> price INT,
    -> stock INT
    -> );
Query OK, 0 rows affected (0.03 sec)

->は構文とは関係ありません。(改行時に自動で出力される記号です。)

itemsという名前のテーブルを作成しました。

カラム定義はカラム名 データ型の構文で記述し、複数のカラムがある場合はカンマ(,)で区切ります。

データ型が未学習の方は、ここでは構文のみ覚えていただければ問題ありませんが、以下カラム定義の説明を記載します。

上記サンプルは商品名はname VARCHAR(20)、値段はprice INT、在庫はstock INTに対応しています。

データ型はVARCHARINTを使用しており、VARCHARは文字列型、INTは整数型です。

VARCHARの丸括弧(())内の数値は保持できる文字数です。

一覧表示(SHOW TABLES

テーブル一覧の表示はSHOW TABLES文を使います。

基本構文

SHOW TABLES;

サンプル

mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| items          |
+----------------+
1 row in set (0.00 sec)

情報表示

テーブルの情報や作成クエリを表示できます。

情報(DESC

情報(テーブル構造)の表示はDESC文を使います。

基本構文

DESC テーブル名;

サンプル

mysql> DESC items;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| price | int         | YES  |     | NULL    |       |
| stock | int         | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

また、SHOW COLUMNS FROM文でも同様の表示が可能です。

mysql> SHOW COLUMNS FROM items;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| price | int         | YES  |     | NULL    |       |
| stock | int         | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

作成クエリ(SHOW CREATE TABLE

作成クエリの表示はSHOW CREATE TABLE文を使います。

基本構文

SHOW CREATE TABLE テーブル名;

サンプル

mysql> SHOW CREATE TABLE items;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                        |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| items | CREATE TABLE `items` (
  `name` varchar(20) DEFAULT NULL,
  `price` int DEFAULT NULL,
  `stock` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

削除(DROP TABLE

テーブルの削除はDROP TABLE文を使います。

基本構文

DROP TABLE

サンプル

mysql> DROP TABLE items;
Query OK, 0 rows affected (0.02 sec)