single
CREATEおよび制約
メニューを表示するにはスワイプしてください
これまで、さまざまな企業で働き、要件に応じてSELECTクエリを実行してきました。しかし、テーブルの作成や変更方法を学ぶ必要があります。
テーブルはCREATE文を使って作成します。CREATE文の構造はSELECT文と似ていますが、データを選択するのではなく、データを作成します:
1234CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
これらの例を実行しても、出力は表示されません。これらの例は新しいテーブルを作成するだけだからです。もう一度コードを実行すると、テーブルがすでに存在するというエラーが表示されます。 これらのコードスニペットは例であり、この後のタスクで新しく作成したテーブルにデータを挿入し、画面に表示してすべてが正常に動作していることを確認します。
このクエリは、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という新しいテーブルを作成してください。 - テーブルには4つのカラム:
id、title、author、pagesを含めてください。 - 1つ目のカラムには
INT PRIMARY KEYを指定してください。 - 2つ目のカラムには
VARCHAR(50) NOT NULLを指定してください。 - 3つ目のカラムには
VARCHAR(50)を指定してください。 - 4つ目のカラムには
INTを指定してください。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください