목표) police_station과 crime_status 테이블을 foreign key 사용하여 연결한다.
01. mysql AWS RDS 접속 - use zerobase (database 지정)
02. 두 테이블의 칼럼과 속성을 확인한다.
- desc나 select 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한 내용이 담겨있는 것을 알 수 있다.
'mySql' 카테고리의 다른 글
[mysql] Aggregate Functions_ count / sum / avg / min / max / group by / having (0) | 2022.12.10 |
---|---|
[mysql] primary key / foreign key 실습 (0) | 2022.12.10 |
[mysql] Foreign Key (0) | 2022.12.09 |
[mysql] Primary Key (0) | 2022.12.09 |
[mysql] python_ fetch all() / buffered / dataframe (0) | 2022.12.09 |