본문 바로가기
mySql

[mysql] foreign key 예제

by ram_ 2022. 12. 10.

목표) police_station과 crime_status 테이블을  foreign key 사용하여 연결한다.


 

01. mysql AWS RDS 접속 - use zerobase (database 지정)

02. 두 테이블의 칼럼과 속성을 확인한다.

descselect count 사용한다.

  • select count(distinct name) from police_station;

  • police_station의 name 갯수와 crime_status의 경찰서의 갯수가 같은 것을 확인.
  • crime_status의 select count를 확인하는 코드에서 나타나는 police_station은 테이블을 일컫는 것이 아닌, crime_status 내에 있는 칼럼 이름이다.

 

 

  • select distinct name from police_station limit 3;

 

 

 

 

 

 

 

 

 

 

  • 어느 정보가 들어있는지 상세 정보를 확인한다. 이름이 같지 않지만 우리는 둘이 같은 경찰서를 의미하는 것을 알기에,

concat 을 사용하여 두개의 value들의 값을 같게 매칭해주었다.

where p.name like concat ~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • police_station의 name 칼럼에 primary key를 add 해준다.

 

 

 

 

 

 

 

 

  • crime_status에 concat할 정보를 담을 reference라는 새로운 칼럼을 add 해준다.

 

 

 

 

 

 

 

 

 

 

  • crime_status의 reference와 police_station의 name은 같다고 set 해준 뒤, 해당 내용을 update 한다.

 

 

 

 

 

 

 

 

 

 

  • police_station의 name 칼럼을 참조하여 crime_status의 reference 칼럼에 foreign key를 add한다.

 

 

 

 

 

 

 

 

 

 

  • crime_status의 세부정보를 확인해보면 기존 police_station 칼럼의 value는 그대로이고 새로운 reference 칼럼에 concat한 내용이 담겨있는 것을 알 수 있다.