>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 테이블을 생성할 때 기본 키를 설정하는 방법은 무엇입니까?

MySQL에서 테이블을 생성할 때 기본 키를 설정하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-10-09 09:19:5027203검색

설정 방법: "CREATE TABLE" 문에서 "PRIMARY KEY" 키워드를 통해 기본 키를 지정하고 구문 형식은 "필드 이름 데이터 형식 PRIMARY KEY [기본값]" 또는 "[CONSTRAINT 제약 조건 이름] PRIMARY KEY입니다. 필드 이름" .

MySQL에서 테이블을 생성할 때 기본 키를 설정하는 방법은 무엇입니까?

PRIMARY KEY의 전체 이름은 "기본 키 제약 조건"으로, MySQL에서 가장 자주 사용되는 제약 조건입니다. 일반적인 상황에서는 DBMS가 테이블에서 레코드를 더 빨리 찾을 수 있도록 테이블에 기본 키가 설정됩니다.

(권장 튜토리얼: mysql 비디오 튜토리얼)

테이블 생성 시 기본 키 제약 조건 설정

데이터 테이블 생성 시 기본 키 제약 조건 설정 테이블의 필드 또는 테이블에 대한 기본 키를 설정할 수 있습니다. 테이블의 필드. 여러 필드에 대한 공동 기본 키를 설정합니다. 그러나 어떤 방법을 사용하든 테이블에는 기본 키가 하나만 있을 수 있습니다. 다음은 단일 필드 기본 키와 다중 필드 결합 기본 키를 설정하는 방법을 설명합니다.

1) 단일 필드 기본 키 설정

CREATE TABLE 문에서 PRIMARY KEY 키워드를 통해 기본 키를 지정합니다.

필드 정의 시 기본 키를 지정합니다. 구문 형식은 다음과 같습니다.

<字段名> <数据类型> PRIMARY KEY [默认值]

예제 1

test_db 데이터베이스에 tb_emp3 데이터 테이블을 생성합니다. 기본 키는 id입니다. .

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입니다. 다음과 같습니다.

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) 테이블 생성 시 공동 기본 키를 설정하세요

공동 기본 키라고 불리는 것은 이 기본 키가 테이블의 여러 필드로 구성된다는 의미입니다.

예를 들어 학생 과목 선택 데이터 테이블을 설정할 때 학번을 기본 키로 사용해야 할까요, 아니면 과목 번호를 기본 키로 사용해야 할까요? 학번을 기본키로 사용하는 경우, 학생은 한 과목만 선택할 수 있습니다. 과목 번호를 기본 키로 사용하는 경우 한 명의 학생만 과목을 선택할 수 있습니다. 분명히 이 두 가지 상황은 모두 비현실적입니다.

실제로 학생 과목 선택 일정을 설계할 때 학생은 동일한 과목을 한 번만 선택할 수 있다는 제한이 있습니다. 따라서 학번과 교과번호를 함께 묶어서 공동기본키인 기본키로 만들 수 있다.

기본 키는 여러 필드로 구성됩니다. 구문 형식은 다음과 같습니다.

PRIMARY KEY [字段1,字段2,…,字段n]

참고: 기본 키가 여러 필드로 구성된 경우 기본 키 제약 조건은 필드 이름 바로 뒤에 선언할 수 없습니다.

예제 3

데이터 테이블 tb_emp5를 생성합니다. 테이블에 기본 키 id가 없다고 가정하면 name과 deptId를 기본 키로 결합할 수 있습니다. 다음과 같이.

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 training

위 내용은 MySQL에서 테이블을 생성할 때 기본 키를 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.