single
CREATEおよび制約
メニューを表示するにはスワイプしてください
これまで、さまざまな企業で働き、要件に応じてSELECTクエリを実行してきました。しかし、テーブルの作成と変更方法を学ぶ必要があります。
テーブルはCREATE文を使用して作成します。CREATE文はSELECT文と似た構造ですが、データを選択するのではなく、データを作成します:
1234CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
これらの例を実行しても、出力は表示されません。これらの例は新しいテーブルを作成するだけだからです。もう一度コードを実行すると、テーブルがすでに存在するというエラーが表示されます。 これらのコードスニペットは例であり、この後のタスクで新しく作成したテーブルにデータを挿入し、画面に表示してすべてが正しく動作していることを確認します。
上記のSQLクエリを分解して説明します。
このクエリは、id と some_info の2つのカラムを持つ空のテーブルを作成します。
各カラムに使用されているデータ型に注目してください:
INTは整数型データ用;VARCHAR(50)はテキスト用で、最大50文字まで許可されます。
データ型は多数存在するため、ここですべてを扱うことはしません。このセクションでは主要なものに焦点を当て、学習を進めながら他の型も見ていきます。
例えば、異なるデータ型を持つ別のテーブルを作成してみましょう:
1234567CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
このクエリでは、ユーザー情報を格納するための空のテーブルを作成します。含まれる情報は以下の通りです:
- 整数型データの
ID; nameデータ型のVARCHAR(50)情報;DATEデータ型の生年月日情報;- 浮動小数点数型データの給与情報;
trueまたはfalseのみを受け付けるデータ型のユーザーの有効状態。
制約
SQLにおいて、制約はカラムに適用されるルールであり、データの整合性を確保するために使用されます。例えば、PRIMARY KEYの隣にIDを指定すると、このカラムには一意の値が必要であり、空にすることはできません。各テーブルにはPRIMARY KEYを1つだけ設定できます。
一般的な制約の例は以下の通りです:
NOT NULL: このカラムが空の値を持つことを禁止します。UNIQUE: このカラム内のすべての値が異なることを保証します。DEFAULT: 値が指定されなかった場合に、カラムにデフォルト値を設定します。
これらは一部の例です。これらの制約をテーブルに追加する方法を見てみましょう。
1234567CREATE 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という新しいテーブルを作成してください。 - テーブルには
id、title、author、pagesの4つのカラムを持たせてください。 - 1つ目のカラムには
INT PRIMARY KEYを指定してください。 - 2つ目のカラムには
VARCHAR(50) NOT NULLを指定してください。 - 3つ目のカラムには
VARCHAR(50)を指定してください。 - 4つ目のカラムには
INTを指定してください。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください