> 데이터 베이스 > MySQL 튜토리얼 > mysql에 기본 키를 추가하는 방법은 무엇입니까?

mysql에 기본 키를 추가하는 방법은 무엇입니까?

青灯夜游
풀어 주다: 2019-05-08 10:14:25
원래의
42254명이 탐색했습니다.

"PRIMARY KEY"의 전체 이름은 "기본 키 제약 조건"입니다. MySQL 기본 키 제약 조건은 테이블의 각 행을 고유하게 식별하는 값을 갖는 열 또는 열의 조합입니다. 이러한 열을 테이블의 기본 키라고 하며, 이를 통해 테이블의 엔터티 무결성이 적용됩니다. 그렇다면 MySQL에 기본 키 제약 조건을 추가하는 방법은 무엇입니까? 다음 기사에서는 이를 소개합니다.

mysql에 기본 키를 추가하는 방법은 무엇입니까?

기본 키 제약 조건은 테이블의 기본 키를 정의하여 테이블에 있는 각 데이터 행의 식별자를 고유하게 결정합니다. 기본 키는 테이블의 특정 열일 수도 있고 여러 열로 구성된 기본 키를 복합 기본 키라고 합니다. 기본 키는 다음 규칙을 준수해야 합니다.

● 각 테이블은 하나의 기본 키만 정의할 수 있습니다.

● 기본 키 값은 테이블의 각 행을 고유하게 식별해야 하며 NULL일 수 없습니다. 즉, 테이블에 동일한 기본 키 값을 가진 두 개의 데이터 행이 있을 수 없습니다. 이것이 유일성의 원리이다.

● 열 이름은 복합 기본 키 목록에 한 번만 나타날 수 있습니다.

● 복합 기본 키에는 불필요한 중복 열을 포함할 수 없습니다. 복합 기본 키의 열이 삭제된 경우에도 나머지 열로 구성된 기본 키가 여전히 고유성 원칙을 만족하면 복합 기본 키가 올바르지 않은 것입니다. 이것이 최소화의 원칙이다.

1. 테이블 생성 시 기본 키 제약 조건을 추가합니다.

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

열을 정의할 때 기본 키를 지정합니다. 구문 규칙은 다음과 같습니다.

<字段名> <数据类型> PRIMARY KEY [默认值]
로그인 후 복사

예: test_db 데이터베이스에 tb_emp 1 데이터 테이블과 해당 기본 키를 만듭니다. is id

mysql> CREATE TABLE tb_emp1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| 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 [字段名]
로그인 후 복사

예: test_db에 tb_emp 2 데이터 테이블을 생성합니다. 기본 키가 id#🎜🎜 #

mysql> CREATE TABLE tb_emp2
    -> (
    -> 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_emp2;
+--------+-------------+------+-----+---------+-------+
| 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인 데이터베이스. 테이블을 생성한 후 기본 키 제약 조건을 추가합니다.

테이블을 생성한 후 추가할 수 있습니다. 데이터 테이블 수정 시 기본 키 제약 조건은 다음과 같습니다. # 🎜🎜#
ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
로그인 후 복사

예: 데이터 테이블 tb_emp3을 수정하고 필드 ID를 기본 키로 설정

mysql> ALTER TABLE tb_emp3
    -> ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp3;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.12 sec)
로그인 후 복사

#🎜 🎜#3. 복합 기본 키 설정

#🎜🎜 #이때 기본 키는 여러 필드로 구성됩니다.

PRIMARY KEY [字段1,字段2,…,字段n]
로그인 후 복사
예: 테이블에 기본 키 ID가 없다고 가정하고 고유성을 위해 데이터 테이블 tb_emp4를 생성합니다. 직원을 확인하려면 다음과 같이 name과 deptId를 결합하면 됩니다. 기본 키

mysql> CREATE TABLE tb_emp4
    -> (
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id,deptId)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp4;
+--------+-------------+------+-----+---------+-------+
| 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)
로그인 후 복사

위 내용은 mysql에 기본 키를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿