MySQL データベース管理の基本

MySQLBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、MySQL データベースで様々な DDL(データ定義言語)操作を行う方法を学びます。データベース、テーブルを作成し、テーブル構造を変更し、データを削除し、テーブルやデータベースを削除します。

👀 プレビュー

MySQL DDL 操作のプレビュー

MySQL テーブル構造の変更

MySQL テーブル構造の変更

🎯 タスク

このプロジェクトでは、以下を学びます。

  • sudo コマンドを使用して MySQL サービスを起動し、データベースにアクセスする方法
  • 特定の文字セットでデータベースを作成する方法
  • 様々なデータ型と主キーを持つテーブルを作成する方法
  • 主キーを自動インクリメントにするなど、テーブル構造を変更する方法
  • DELETETRUNCATE を使用してテーブルからデータを削除する方法
  • テーブルとデータベースを削除する方法

🏆 成果

このプロジェクトを完了すると、以下ができるようになります。

  • MySQL の基本的な DDL 操作を理解する
  • データベースとテーブルを作成して管理する
  • 必要に応じてテーブル構造を変更する
  • テーブルから効率的にデータを削除する
  • 必要に応じてテーブルとデータベースを削除する

MySQL を起動してデータベースにアクセスする

このステップでは、パスワードなしで sudo コマンドを使用して MySQL サービスを起動し、データベースにアクセスする方法を学びます。

  1. 次のコマンドを使用して MySQL サービスを起動します。
sudo service mysql start
  1. パスワードなしで sudo コマンドを使用して MySQL データベースにアクセスします。
sudo mysql

これで、次のステップに進む準備が整いました。

データベースとテーブルを作成する

このステップでは、文字セットを utf8mb4 に指定して testddl データベースを作成し、その後、データベース内に empdept テーブルを作成する方法を学びます。

  1. 文字セットを utf8mb4 に指定して testddl データベースを作成します。
CREATE DATABASE IF NOT EXISTS `testddl` DEFAULT CHARACTER SET utf8mb4;
  1. testddl データベースを使用します。
USE `testddl`;
  1. 次の構造を持つ emp テーブルを作成します。
CREATE TABLE `emp` (
  `eid` int(5) NOT NULL,
  `ename` varchar(50),
  `sal` DECIMAL,
  `deptno` int(5),
  PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1. 次の構造を持つ dept テーブルを作成します。
CREATE TABLE `dept` (
  `did` int(5) NOT NULL,
  `dname` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

これで、testddl データベースと emp および dept テーブルが作成されました。次のステップに進みましょう。

テーブルを変更する

このステップでは、emp テーブルと dept テーブルの主キーを自動インクリメントにして 10 から始める方法を学びます。また、emp テーブルの sal フィールドのデータ型を整数型に変更します。

  1. emp テーブルの主キーを自動インクリメントにして 10 から始めます。
ALTER TABLE `emp` AUTO_INCREMENT=10;
  1. dept テーブルの主キーを自動インクリメントにして 10 から始めます。
ALTER TABLE `dept` AUTO_INCREMENT=10;
  1. emp テーブルの sal フィールドのデータ型を整数型に変更します。
ALTER TABLE `emp` MODIFY `sal` INT(5);

これで、emp テーブルと dept テーブルの主キーが自動インクリメントになって 10 から始まり、emp テーブルの sal フィールドのデータ型が整数型に変更されました。

テーブルからデータを削除する

このステップでは、emp テーブルと dept テーブルからすべてのデータを削除する方法を学びます。

  1. DELETE 文を使用して emp テーブルからすべてのデータを削除します。
DELETE FROM `emp`;
  1. TRUNCATE 文を使用して dept テーブルからすべてのデータを削除します。
TRUNCATE TABLE `dept`;

これで、emp テーブルと dept テーブルは空になりました。

テーブルとデータベースを削除する

この最後のステップでは、emp テーブルと testddl データベースを削除する方法を学びます。

  1. emp テーブルを削除します。
DROP TABLE `emp`;
  1. testddl データベースを削除します。
DROP DATABASE `testddl`;

次の出力を参照できます。

MariaDB [(none)]> USE `testddl`;
Database changed
MariaDB [testddl]> CREATE TABLE `emp` (
    ->   `eid` int(5) NOT NULL,
    ->   `ename` varchar(50),
    ->   `sal` DECIMAL,
    ->   `deptno` int(5),
    ->   PRIMARY KEY (`eid`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.005 sec)

MariaDB [testddl]> CREATE TABLE `dept` (
    ->   `did` int(5) NOT NULL,
    ->   `dname` varchar(50) DEFAULT NULL,
    ->   PRIMARY KEY (`did`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.004 sec)

MariaDB [testddl]> desc emp;
+--------+---------------+------+-----+---------+-------+
| Field  | Type          | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| eid    | int(5)        | NO   | PRI | NULL    |       |
| ename  | varchar(50)   | YES  |     | NULL    |       |
| sal    | decimal(10,0) | YES  |     | NULL    |       |
| deptno | int(5)        | YES  |     | NULL    |       |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.001 sec)

MariaDB [testddl]> ALTER TABLE `emp` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.005 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [testddl]> ALTER TABLE `dept` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.003 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [testddl]> ALTER TABLE `emp` MODIFY `sal` INT(5);
Query OK, 0 rows affected (0.006 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [testddl]> desc emp;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| eid    | int(5)      | NO   | PRI | NULL    |       |
| ename  | varchar(50) | YES  |     | NULL    |       |
| sal    | int(5)      | YES  |     | NULL    |       |
| deptno | int(5)      | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.001 sec)

MariaDB [testddl]> DELETE FROM `emp`;
Query OK, 0 rows affected (0.000 sec)

MariaDB [testddl]> TRUNCATE TABLE `dept`;
Query OK, 0 rows affected (0.003 sec)

MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept              |
| emp               |
+-------------------+
2 rows in set (0.000 sec)

MariaDB [testddl]> DROP TABLE `emp`;
Query OK, 0 rows affected (0.002 sec)

MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept              |
+-------------------+
1 row in set (0.000 sec)

MariaDB [testddl]> show schemas;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testddl            |
+--------------------+
5 rows in set (0.000 sec)

MariaDB [testddl]> DROP DATABASE `testddl`;
Query OK, 1 row affected (0.004 sec)

MariaDB [(none)]> show schemas;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.000 sec)

おめでとうございます!あなたは DDL 包括チャレンジを完了しました。データベースを作成し、テーブルを作成し、テーブル構造を変更し、テーブルからデータを削除し、テーブルとデータベースを削除する方法を学びました。********

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために、LabEx でさらに多くの実験を行うことができます。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習