はじめに
このチャレンジでは、データベースに対して DDL 関連の操作を行います。テーブルを作成し、その構造を変更し、データの削除やテーブルの削除などの操作を行う必要があります。このチャレンジの目的は、CREATE、ALTER、DELETE、TRUNCATE、DROP などの DDL ステートメントの使用に関する知識とスキルをテストすることです。
DDL 包括チャレンジ
このチャレンジでは、データベースを作成し、それに対して DDL 関連の操作を行う必要があります。
タスク
以下のタスクを完了してください。
sudoコマンドを使用してパスワードなしで MySQL にアクセスします。utf8mb4と指定された文字セットで、testddlという名前のデータベースを作成します。testddlデータベースに、以下の構造を持つempとdeptという名前のテーブルを作成し、情報を挿入します。
- emp
フィールド名 属性 eid INT(5) 主キー ename VARCHAR(50) sal DECIMAL deptno INT(5) - dept
フィールド名 属性 did INT(5) 主キー dname VARCHAR(50)
empとdeptテーブルの主キーを、10から始まる自動インクリメントに変更します。また、empテーブルのsalフィールドのデータ型を整数に変更します。- DELETE を使用して、
empテーブルのすべてのデータを削除します。 - TRUNCATE を使用して、
deptテーブルのすべてのデータを削除します。 - DROP を使用して、
empテーブルとtestddlデータベースを削除します。
要件
- SQL ステートメントをスクリプト形式で保存し、ファイル名を
ddl_perations.sqlとします。 - ステートメントが正しい順序で実行され、 セミコロンと改行 で区切られていることを確認します。
- スクリプトファイルは
~/projectディレクトリに保存する必要があります。
例
スクリプトを書いた後、MySQL クライアントで以下の例コードを使用して実行できます。
mysql> source ~/project/ddl_perations.sql
データベースとテーブルの構造を確認することで、タスクの完了を確認します。
SHOW DATABASES;
/* 期待される出力には:
testddl
が含まれます。
*/
USE testddl;
DESCRIBE emp;
/* 期待される結果:
Field Type Null Key Default Extra
eid int(5) NO PRI NULL auto_increment
ename varchar(50) YES NULL
sal int(5) YES NULL
deptno int(5) YES NULL
*/
INSERT INTO emp(ename) VALUES('test');
SELECT eid FROM emp;
/* 期待される結果:
eid
10
*/
SHOW DATABASES;
/* 期待される結果:testddl は存在しない */
まとめ
おめでとうございます!DDL 包括チャレンジを完了しました。実験力を向上させるために、LabEx でさらに多くの実験を行ってください。



