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



🎯 タスク
このプロジェクトでは、以下を学びます。
sudoコマンドを使用して MySQL サービスを起動し、データベースにアクセスする方法- 特定の文字セットでデータベースを作成する方法
- 様々なデータ型と主キーを持つテーブルを作成する方法
- 主キーを自動インクリメントにするなど、テーブル構造を変更する方法
DELETEとTRUNCATEを使用してテーブルからデータを削除する方法- テーブルとデータベースを削除する方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- MySQL の基本的な DDL 操作を理解する
- データベースとテーブルを作成して管理する
- 必要に応じてテーブル構造を変更する
- テーブルから効率的にデータを削除する
- 必要に応じてテーブルとデータベースを削除する
MySQL を起動してデータベースにアクセスする
このステップでは、パスワードなしで sudo コマンドを使用して MySQL サービスを起動し、データベースにアクセスする方法を学びます。
- 次のコマンドを使用して MySQL サービスを起動します。
sudo service mysql start
- パスワードなしで
sudoコマンドを使用して MySQL データベースにアクセスします。
sudo mysql
これで、次のステップに進む準備が整いました。
データベースとテーブルを作成する
このステップでは、文字セットを utf8mb4 に指定して testddl データベースを作成し、その後、データベース内に emp と dept テーブルを作成する方法を学びます。
- 文字セットを
utf8mb4に指定してtestddlデータベースを作成します。
CREATE DATABASE IF NOT EXISTS `testddl` DEFAULT CHARACTER SET utf8mb4;
testddlデータベースを使用します。
USE `testddl`;
- 次の構造を持つ
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;
- 次の構造を持つ
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 フィールドのデータ型を整数型に変更します。
empテーブルの主キーを自動インクリメントにして10から始めます。
ALTER TABLE `emp` AUTO_INCREMENT=10;
deptテーブルの主キーを自動インクリメントにして10から始めます。
ALTER TABLE `dept` AUTO_INCREMENT=10;
empテーブルのsalフィールドのデータ型を整数型に変更します。
ALTER TABLE `emp` MODIFY `sal` INT(5);
これで、emp テーブルと dept テーブルの主キーが自動インクリメントになって 10 から始まり、emp テーブルの sal フィールドのデータ型が整数型に変更されました。
テーブルからデータを削除する
このステップでは、emp テーブルと dept テーブルからすべてのデータを削除する方法を学びます。
DELETE文を使用してempテーブルからすべてのデータを削除します。
DELETE FROM `emp`;
TRUNCATE文を使用してdeptテーブルからすべてのデータを削除します。
TRUNCATE TABLE `dept`;
これで、emp テーブルと dept テーブルは空になりました。
テーブルとデータベースを削除する
この最後のステップでは、emp テーブルと testddl データベースを削除する方法を学びます。
empテーブルを削除します。
DROP TABLE `emp`;
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 でさらに多くの実験を行うことができます。



