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

CREATEおよび制約

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

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

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

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

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

このクエリは、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 );

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

  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 );

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

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

タスク

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

libraryという名前のテーブルを作成してください。

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

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

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

カラム名は必ず指定された通りに使用してください。

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

簡単な手順

  • CREATEクエリを使ってlibraryという新しいテーブルを作成してください。
  • テーブルには4つのカラム:idtitleauthorpagesを含めてください。
  • 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