Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ CREATEおよび制約 | SQLにおけるDDLとDML
中級SQL
セクション 4.  1
single

single

bookCREATEおよび制約

メニューを表示するにはスワイプしてください

これまで、さまざまな企業で働き、要件に応じてSELECTクエリを実行してきました。しかし、テーブルの作成と変更方法を学ぶ必要があります。

テーブルはCREATE文を使用して作成します。CREATE文はSELECT文と似た構造ですが、データを選択するのではなく、データを作成します:

1234
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
copy
Note
注意

これらの例を実行しても、出力は表示されません。これらの例は新しいテーブルを作成するだけだからです。もう一度コードを実行すると、テーブルがすでに存在するというエラーが表示されます。 これらのコードスニペットは例であり、この後のタスクで新しく作成したテーブルにデータを挿入し、画面に表示してすべてが正しく動作していることを確認します。

上記のSQLクエリを分解して説明します。

このクエリは、idsome_info の2つのカラムを持つ空のテーブルを作成します。

各カラムに使用されているデータ型に注目してください:

  • INT は整数型データ用;
  • VARCHAR(50) はテキスト用で、最大50文字まで許可されます。

データ型は多数存在するため、ここですべてを扱うことはしません。このセクションでは主要なものに焦点を当て、学習を進めながら他の型も見ていきます。

例えば、異なるデータ型を持つ別のテーブルを作成してみましょう:

1234567
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
copy

このクエリでは、ユーザー情報を格納するための空のテーブルを作成します。含まれる情報は以下の通りです:

  1. 整数型データのID
  2. nameデータ型のVARCHAR(50)情報;
  3. DATEデータ型の生年月日情報;
  4. 浮動小数点数型データの給与情報;
  5. trueまたはfalseのみを受け付けるデータ型のユーザーの有効状態。

制約

SQLにおいて、制約はカラムに適用されるルールであり、データの整合性を確保するために使用されます。例えば、PRIMARY KEYの隣にIDを指定すると、このカラムには一意の値が必要であり、空にすることはできません。各テーブルにはPRIMARY KEYを1つだけ設定できます。

一般的な制約の例は以下の通りです:

  • NOT NULL: このカラムが空の値を持つことを禁止します。
  • UNIQUE: このカラム内のすべての値が異なることを保証します。
  • DEFAULT: 値が指定されなかった場合に、カラムにデフォルト値を設定します。

これらは一部の例です。これらの制約をテーブルに追加する方法を見てみましょう。

1234567
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
copy

この場合、nameカラムには必ず値が必要であり、空やnullにはできません。また、salaryが指定されていない場合は、デフォルトで50000が設定されます。

このような制約を利用することで、テーブル内のデータが正確であり、設定したルールに従うことを保証できます。

タスク

スワイプしてコーディングを開始

あなたの課題は、library という名前のテーブルを作成することです。

このテーブルには4つのカラムが必要です:

  • id - 整数型の主キー;
  • title - varchar型、NULL不可;
  • author - varchar型;
  • pages - int型。

クエリの最後には必ずセミコロン;)を付けてください。

カラム名は指定されたとおり正確に使用してください。

右側には大量のコードが表示されていますが、これを変更しないでください。これは、あなたの解答が正しくチェックされるために記述されています。このセクションの後半で、そこに書かれている内容について学びます。

簡単な手順

  • CREATE クエリを使って library という新しいテーブルを作成してください。
  • テーブルには idtitleauthorpages の4つのカラムを持たせてください。
  • 1つ目のカラムには INT PRIMARY KEY を指定してください。
  • 2つ目のカラムには VARCHAR(50) NOT NULL を指定してください。
  • 3つ目のカラムには VARCHAR(50) を指定してください。
  • 4つ目のカラムには INT を指定してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt