【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に対応しています。
データ型はVARCHARとINTを使用しており、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)