2025/04: 1개의 글

[DataBase] PK 지정 및 제거

Posted by nkjok
2025. 4. 7. 16:51 낙서장[1]/93. DataBase
반응형

1. 테이블 생성
mysql> create table 테스트부서2( 부서번호 varchar(25) not null, 부서명 varchar(25) not null, 테스트번호 varchar(25)
not null);
Query OK, 0 rows affected (0.06 sec)

mysql> desc 테스트부서2;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| 부서번호        | varchar(25) | NO   |     | NULL    |       |
| 부서명          | varchar(25) | NO   |     | NULL    |       |
| 테스트번호      | varchar(25) | NO   |     | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)



2. PK 지정 
mysql> alter table 테스트부서2 ADD primary key (부서번호);
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc 테스트부서2;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| 부서번호        | varchar(25) | NO   | PRI | NULL    |       |
| 부서명          | varchar(25) | NO   |     | NULL    |       |
| 테스트번호      | varchar(25) | NO   |     | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)



3. PK 삭제
mysql> alter table 테스트부서2 drop primary key;
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc 테스트부서2;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| 부서번호        | varchar(25) | NO   |     | NULL    |       |
| 부서명          | varchar(25) | NO   |     | NULL    |       |
| 테스트번호      | varchar(25) | NO   |     | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)



4. PK 삭제 후 다른 속성에 PK 지정
mysql> alter table 테스트부서2 add primary key (테스트번호);
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc 테스트부서2;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| 부서번호        | varchar(25) | NO   |     | NULL    |       |
| 부서명          | varchar(25) | NO   |     | NULL    |       |
| 테스트번호      | varchar(25) | NO   | PRI | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

반응형