ホームページ >データベース >mysql チュートリアル >MySQLでテーブルを作成するときに主キーを設定するにはどうすればよいですか?
設定方法:「CREATE TABLE」文内でキーワード「PRIMARY KEY」で主キーを指定します。構文形式は「フィールド名 データ型 PRIMARY KEY [デフォルト値]」または「[CONSTRAINT制約]」です。名前] PRIMARY KEY フィールド名」。
主キー (PRIMARY KEY) の正式名称は「主キー制約」で、MySQL で最も頻繁に使用される制約です。通常の状況では、DBMS がテーブル内のレコードをより速く検索できるようにするために、テーブルに主キーが設定されます。
(推奨チュートリアル: mysql ビデオ チュートリアル )
データ作成時テーブル 主キー制約を設定するには、テーブル内の 1 つのフィールドに主キーを設定するか、テーブル内の複数のフィールドに結合主キーを設定できます。ただし、どの方法を使用する場合でも、テーブル内に存在できる主キーは 1 つだけです。単一フィールドの主キーと複数フィールドの結合主キーの設定方法を説明します。
1) 単一フィールドの主キーを設定する
CREATE TABLE ステートメントで、PRIMARY KEY
キーワードを使用して主キーを指定します。
フィールドを定義するときに主キーを指定します。構文形式は次のとおりです:
<字段名> <数据类型> PRIMARY KEY [默认值]
例 1
test_db データベースに tb_emp3 データ テーブルを作成します。 is id、SQL文、実行結果は以下の通りです。
mysql> CREATE TABLE tb_emp3 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp3; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
または、すべてのフィールドを定義した後に主キーを指定します。構文形式は次のとおりです:
[CONSTRAINT <约束名>] PRIMARY KEY [字段名]
例 2
test_db データベースに tb_emp4 データ テーブルを作成し、主キーは id で、SQL ステートメントと実行結果は次のとおりです。
mysql> CREATE TABLE tb_emp4 -> ( -> id INT(11), -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> PRIMARY KEY(id) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp4; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
2) テーブル作成時に結合主キーを設定する
いわゆる結合主キーとは、主キーがテーブル内の複数のフィールドで構成されることを意味します。 。
たとえば、学生のコース選択データ テーブルを設定する場合、学生番号を主キーとして使用する必要がありますか、それともコース番号を主キーとして使用する必要がありますか?学生番号を主キーとして使用する場合、学生は 1 つのコースのみを選択できます。コース番号を主キーとして使用する場合、コースを選択できるのは 1 人の学生だけです。明らかに、これらの状況はどちらも非現実的です。
実際、学生のコース選択スケジュールを設計する際、学生は同じコースを 1 回しか選択できないという制限があります。したがって、学生番号とコース番号を主キーとしてまとめることができ、これが結合主キーになります。
主キーは複数のフィールドで構成されています。構文形式は次のとおりです:
PRIMARY KEY [字段1,字段2,…,字段n]
注: 主キーが複数のフィールドで構成されている場合、主キー制約を直後に宣言することはできません。フィールド名。
例 3
データ テーブル tb_emp5 を作成します。テーブルに主キー ID がないと仮定します。従業員を一意に識別するために、主キーとして name と deptId を組み合わせることができます。 . SQL文と実行結果は以下の通りです。
mysql> CREATE TABLE tb_emp5 -> ( -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> PRIMARY KEY(id,deptId) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp5; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | name | varchar(25) | NO | PRI | NULL | | | deptId | int(11) | NO | PRI | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.14 sec)
関連する推奨事項: php トレーニング
以上がMySQLでテーブルを作成するときに主キーを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。